JavaScript - Variable types (변수 타입)

2021. 11. 8. 23:39

Variable types

  • premitive: value로 값이 저장됨
  • object: 오브젝트가 가리키는 레퍼런스가 저장됨
  • 메모리값이 다른 방식으로 저장된다.

 

숫자(Number)

let number = 6;

미리 정해진 값

const infinity = 1 / 0;
const negativeInfinity = -1 / 0;
const NaN = 'not a number' / 2
console.log(infinity);
console.log(negativeInfinity);
console.log(NaN);

bigInt

→원래 숫자 범위: (-2**53) ~ 2*53 (53승)

const bigInt = 1234568901234567890123456890n
console.log(`value: ${bigInt}, type: ${typeof bigInt}`);

 

문자열(String)

  • ''로 감싸서 선언
  • `` template literals
const gazero = 'gazero';
const greeting = 'hello' + gazero;
console.log(`value: ${greeting}, type: ${typeof greeting}`); 
const helloYoung = `hi ${gazero}!`;
console.log(`value: ${helloYoung}, type: ${typeof helloYoung}`);
console.log('value: ' + helloYoung + ' type: ' + typeof helloYoung);

 

참 거짓(Boolean)

  • false: 0, null, undefined, NaN, '' → if문에서 false로 변환되므로 if구문 실행 안됨
  • true: any other value

 

null

  • empty 값 할당

 

undefined

  • 값이 지정되지 않음, 비어있는지 값이 없는지 정해지지 않은 상태
//null
let nothing = null;
console.log(`value: ${nothing}, type: ${sypiof nothing}`);

//undefined
let x;
let x = undefined;
console.log(`value: ${x}, type: ${typeof x}`);

 

Symbol

  • 동일한 string이어도 다른 값으로 인식
  • 고유한 식별자 만들 때 사용
const symbol1 = Symbol('id');
const symbol2 = Symbol('id');
console.log(symbol1 === symbol2); //false
const gSymbol1 = Symbol.for('id');
const gSymbol2 = Symbol.for('id');
console.log(gSymbol1 === gSymbol2); //true
console.log(`value: ${symbol1.description}, type: ${typeof.description}`);

 

Dynamic typing: dynamically typed language

  • JS는 프로그램이 동작할 때 할당된 값에 따라 타입이 변경될 수 있음

so, javascript + type = TS

'JavaScript' 카테고리의 다른 글

JavaScript - Array(배열)  (0) 2021.11.12
JavaScript - script async와 defer의 차이  (0) 2021.11.11
JavaScript의 역사  (0) 2021.11.10
JavaScript - Operator(연산자)  (0) 2021.11.09
JavaScript - 변수, 타입, 함수  (1) 2021.04.06

BELATED ARTICLES

more