JavaScript - 타입

uk·2022년 9월 11일

JavaScript

목록 보기
2/19

타입이란?

  • 프로그램에서 다룰 수 있는 값의 종류를 의미한다.
  • 자바스크립트에서는 여러 가지 형태의 타입을 미리 정의하여 제공하고 있으며 이것을 기본 타입이라고 한다.
  • 기본 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있다.
  • 타입마다 다른 속성과 메서드가 존재한다.
  • typeof 연산자를 활용하여 특정 값의 타입을 확인할 수 있다.
  • 타입 비교시 엄밀한 비교(===, !==)를 사용한다.

원시 타입(primitive type)

1. number

  • 자바스크립트는 다른 언어와는 달리 정수와 실수를 따로 구분하지 않고, 모든 수를 실수로 표현한다.
  • 또한, 매우 큰 수나 매우 작은 수를 표현할 경우에는 e 표기법을 사용한다.
let num1 = 10;     // 10
let num2 = 10.11;  // 10.11
let num3 = 10e6;   // 10000000
let num4 = 10e-6;  // 0.00001

2. string

  • 문자열은 큰따옴표("")나 작은따옴표('')로 둘러싸인 문자의 집합을 의미하며 문자열을 + 연산자로 연결할 수 있다.
let str1 = "큰 따옴표"; 	// '큰 따옴표'
let str2 = '작은 따옴표';  // '작은 따옴표'
let str3 = "큰 따옴표 안에 '작은 따옴표' 포함 가능"  // "큰 따옴표 안에 '작은 따옴표' 포함 가능"
let str4 = '작은 따옴표 안에 "큰 따옴표" 포함 가능'  // '작은 따옴표 안에 "큰 따옴표" 포함 가능'
let strSum = str1 + str2  // '큰 따옴표작은 따옴표'

3. boolean

boolean은 참(true)과 거짓(false)을 표현한다.

let a = 10;
let b = 9;
console.log(a === b);  // false

let bool = true;
console.log(typeof bool);  // boolean

4. undefined

  • 값을 할당하지 않은 변수는 undefined 값을 가진다.
let a;  // undefined
console.log(typeof a);  // undefined

5. null

  • 의도적으로 '값이 없음'을 명시하기 위해 할당하는 값
  • null의 타입은 null이 아닌 object이다.
let a = null;  // null
console.log(typeof a); // object

6. Symbol

  • Symbol은 ES6에서 새로 생긴 데이터 타입이며 유일하고 변경할 수 없는 원시 값이고 객체의 속성 키로 사용할 수 있다.
  • 고유한 식별자가 필요한 경우 사용
  • 동일한 string은 동일한 식별자로 간주하지만 Symbol은 동일한 string을 가져도 서로 다른 Symbol인 고유한 식별자를 만든다.
let sym1 = Symbol('id');
let sym2 = Symbol('id');

console.log(sym1);  // Symbol(id)
console.log(sym2);  // Symbol(id)

console.log(typeof sym1);  // symbol
console.log(typeof sym2);  // symbol

console.log(sym1 === sym2); // false

typeof 연산자

  • typeof 연산자를 사용하여 특정 값의 타입을 확인할 수 있다.
let a = '1';
let b = 1;
let c;
console.log(typeof a);  // string
console.log(typeof b);	// number
console.log(typeof c);	// undefined
console.log(typeof a * b;)  // NaN(Not a Number, number type)

0개의 댓글