
자바스크립트의 자료형은 원시형과 객체형으로 나뉜다.
객체형을 제외한 다른 자료형은 문자열이든 숫자든 한 가지만 표현할 수 있기 때문에 원시(primitive) 자료형이라 부른다.
const age = 32; const temperature = 32.3; const infinity = Infinity; const ninfinity = -Infinity; console.log(typeof age); // number console.log(typeof temperature); // number console.log(typeof infinity) // number console.log(typeof ninfinity) // numberInfinity, -Infinity 등 특수한 숫자 값도 존재한다.
1) 따옴표
개행/ 탭/ 백슬래시를 하고 싶으면,
\n, \t, \\를 사용한다.let clouds = '하늘 \n 구름'; let clouds = '하늘 \t 구름'; let clouds = '하늘 \\ 구름';2) 백틱
백틱을 이용한 방식을 '템플릿 리터럴'이라고 한다!
백틱을 이용하면
\n, \t, \\을 이용하지 않아도 작성한 그대로 출력된다.const clouds = `하늘 맑음` console.log(clouds); const groupName = '소녀시대'; console.log(`${groupName} 태연`);
불린형(논리 타입)은 true와 false 두 가지 값밖에 없는 자료형이다.
const isTrue = true; const isFalse = false; console.log(typeof isTrue); // boolean
undefined는 '값이 할당되지 않은 상태’를 나타낼 때 사용한다. (즉 선언만 하고 할당 x)
변수는 선언했지만, 값을 할당하지 않았다면 해당 변수에 undefined가 자동으로 할당된다.let noInit; console.log(noInit); // 값도 undefined console.log(typeof noInit); // 타입도 undefined
undefined처럼 값이 없다는 뜻이지만, js에서는 개발자가 명시적으로 없는 값으로 초기화할때 사용된다.
let init = null; console.log(init); // 값은 null console.log(typeof init); // 타입은 object -> javascript 자체의 버그이다..!
유일무이한 값을 생성할 때 사용한다.
다른 primitive 값들과 다르게 Symbol 함수를 호출해서 사용한다.
const symbol1 = Symbol('1'); const symbol2 = Symbol('2'); console.log(symbol1 === symbol2); // false -> symbol1, symbol2 각각 유일한 값 생성
자바스크립트의 특수한 자료형이다.
Function, Array, Object를 포함한다.
const dictionary = {
red: '빨간색', // key = red, value = '빨간색'
orange: '주황색',
yellow: '노란색',
}
console.log(dictionary);
console.log(dictionary['red']); // 빨간색
console.log(typeof dictionary); // object
const membersArr = [
'짱구',
'훈이',
'수지',
]
console.log(membersArr); // [ '짱구', '훈이', '수지' ]
membersArr[0] = '짱아';
console.log(membersArr); // [ '짱아', '훈이', '수지' ]
console.log(typeof membersArr); // object type -> 배열도 객체타입이다