본문 바로가기
Web/JavaScript

[JavaScript] wrapper class

by coding-choonsik 2023. 4. 19.
728x90
반응형
SMALL

1. wrapper class 란❓

 

기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스

 


1-1. Primitive Tpyes(기본타입, 원시타입)

  • string, number, bigint, boolean, undefined, symbol, null (8개)
  • 기본 타입은 객체가 아니며, 메서드와 프로퍼티가 존재하지 않는 데이터
  • 기본 타입은 프로퍼티와 메서드를 정의할 수 없음
  • new 키워드를 사용하여 원시 타입을 래퍼 객체로 생성할 수 있지만, 주로 사용하는 방법은 아님
let a = 'apple'  // 리터럴 표기
let b = new String('apple')  // 객체형 표기
a === b //false

 

기본타입(원시타입) 래퍼 클래스
string String
number Number
bigint Bigint
boolean Boolean
symbol Symbol
float Float
char Character
double Double

 


2. Boxing & Unboxing

  • 래퍼 클래스(Wrapper class)는 산술 연산을 위해 정의된 클래스가 아니므로, 인스턴스에 저장된 값을 변경할 수 없음
  • 값을 참조하기 위해 새로운 인스턴스를 생성하고, 생성된 인스턴스의 값만을 참조할 수 있음

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Wrapper class</title>
</head>
<body>
    <h2>Wrapper class</h2>
    <script>
        const num = 10
        console.log(typeof(num))
        console.log(num.toString())   // wrapper class로 boxing
        console.log(typeof(num.toString()))
        console.log(typeof(num))	  // 데이터의 타입이 직접 변하진 않음

        //지수 표기법(10의 n승으로 표기)
        const x1 = 102
        console.log(x1.toExponential()) // 1.02 * 10^2

        //반올림하여 문자열로 변환
        const x2 = 1234.12
        console.log(x2.toFixed())
        console.log(typeof(x2.toFixed()))  // string

        //로컬형식의 문자형으로 변환
        console.log(x2.toLocaleString('ar-EG'))  // 아랍어

        const x3 = 0.1 + 0.2 - 0.2
        console.log(x3)
    </script>
</body>
</html>

 


3. 동등 연산자( === )

  • 기본 타입으로 생성된 변수와 new 키워드를 사용하여 명시적으로 생성된  객체는 서로 다른 타입
'JavaScript' === 'JavaScript'  // true
'JavaScript' === new String('JavaScript')  // false
10 === new Number(10)  // false

let num1 = 10
let num2 = new Number(10)
num1 === num2  // false

 


참고 : http://www.tcpschool.com/java/java_api_wrapper

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

728x90
반응형
LIST