Javascript type
원시타입
- 고정된 크기로 Call Stack 메모리에 저장, 실제 데이터가 변수에 할당.
- string, number, boolean, null undefuned, symbol (불면성을 가지고 있다.)
참조타입
- 데이터 크기가 정해지지 않고 Call Stack 메모리에 저장, 데이터의 값이 heap에 저장되며 변수에 heap 메모리의 주소값에 할당
- object, array
Primitive types
- string : 문자열을 나타냅니다.
- number : 숫자 값을 나타냅니다.
- boolean : true와 false 값을 가지고 있습니다.
- null : 하나의 값을 가집니다(null) 의도적으로 '값이 없음' 을 나타내기 위해서 사용
- undefined : 하나의 값을 가집니다(undefined) 초기화되지 않은 변수의 기본값
- symbol : 변경 불가능한 유일한 값을 생성할 때 사용하며, 값 자체의 확인이 불가하여 외부로 노출되지 않습니다. ES6에서 새로 생긴 타입
Object types
- function : 함수를 나타냅니다.
- array : 배열을 나타냅니다.
- classes : 클래스를 나타냅니다.
- object : 객체를 나타냅니다.
Javascript는 동적 타입입니다.
Javascript는 느슨한 타입(loosely typed)의 동적(dynamic)언어 입니다. Javascript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능합니다.
let foo = 42
foo = 'bar'
foo = true
- 같은 변수가 여러개의 타입을 가질수 있다.
- 타입을 명시하지 않아도 된다.
- 대부분의 다른 언어는 정적(Static) 타입 언어다. (Java, C#, C++)
const name = 'Kim'
const age = 26
const hasJob = flase
const car = null
let anything;
const sym = Symbol();
const hobbies = ['walking', 'books']
const address = {
province: '경기도',
city: '고양시'
}