JavaScript의 변수 타입은 두 가지로 나누어져 있다.
Boolean
, Null
, Undefined
, Number
, BigInt
, String
, Symbol
Object
원시 자료형이 할당될 때는 변수에 값(value) 자체가 담긴다.
- 원시 자료형은 ‘하나’의 정보(데이터)를 가지고 있다.
- 불변 값(별경할 수 없는 값)이다.
Boolean(불린형)
true
와 false
두 가지 값밖에 없는 자료형이다.true
)과 부정(false
)을 나타내는 값을 저장할 때 사용한다.Null
null
값만 가질 수 있다.typeof
로 null
을 찍어보면 을 했을때 “ojbect”
가 출력된다.Undefined
null
값 처럼 자신만의 자료형을 형성한다.undefined
는 ‘값이 할당되지 않은 상태’를 나타낸다.undefined
가 자동으로 할당된다.let a;
console.log(a) // undefined
null
과 다르게 typeof
를 사용하면 "undefined"
가 출력된다.Number(숫자형)
+Infinity
, -Infinity
, NaN
의 값을 가진다.0
뿐이다.0
은 -0
과 +0
두 가지로 표현할 수 있다. (0
은 +0
의 별칭이다.)-0
과 +0
으로 나누었을때 차이가 나타난다.console.log(42 / +0) // Infinity
console.log(42 / -0) // -Infinity
BigInt
String(문자열)
“hi”
'hi'
hi
${...}
안에 넣어주면, 변수나 표현식을 문자열 사이에 넣을 수 있다.let name = "Chan";
console.log(`Hi, ${name}`); // Hi, Chan
console.log(`the result is ${1 + 2}`); // the result is 3
Symbol(심볼)
for..in
반복문에서 배제된다.let id = Symbol("id");
let user = {
name: "Chan",
age: 28,
[id]: 0802
};
for (let key in user) {
console.log(key)
};
// name
// age
참조 자료형이 할당될 때는 주소(reference)가 담긴다.
Object(객체)
배열은 참조형이기 때문에 데이터의 주소를 대입할 수 있기 때문이다.
- 객체의 경우 상수(
const
)로 선언해도 메모리값만 상수 일뿐 객체 안의 내용은 변경이 가능하다.- 데이터의 주소를 바꾸는 행위가 아니기 때문에
push
와pop
이 가능하다.
[JavaScript] 변수의 타입 (원시형과 참조형) - 하나몬
항상 좋은 글 감사합니다 ㅎㅎ