목차
원시 타입에 대한 값을 저장하기 위해 Call Stak 메모리 공간을 사용하지만 참조 타입의 경우 데이터 타입이 정해지지 않고 Heap이라는 별도의 메모리 공간을 사용한다.
참조타입은 Call Stack에 개체 및 배열 값이 아닌 Heap 메모리 참조 ID를 값으로 저장한다.
자바스크립트는 동적 타입이다.
let foo=42 /number
foo='bar' // string
foo=true // boolean
JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic) 언어이다.
JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능하다.
- 같은 변수가 여러개의 타입을 가질 수 있다.
- 타입을 명시하지 않아도 된다.
- 대부분의 다른 언어는 정적 타입 언어이다.(C,자바..)
원시 타입
const name = "han"; // 문자열 String
const age = 30; // Number
const hasJob = true; // Boolean
const car = null; // null
let anything; // undefined
const sym = Symbol(); // Symbol
참조 타입
const hobbies = ['walking', 'books']; // Array 배열
const address = { // Object 객체
province: '경기도',
city: '성남시'
}
console.log(typeof hobbies);
console.log(Array.isArray(address));
참조 타입중 배열인지 확인하는 방법으 typeof로 하면 안되고 isArray라느 메서드로 확인을 해야한다.
(typeof로 확인을 하면 Object로 나오는데 배열은 오브젝트의 한 형태중 하나 이기 때문이다)
'모카스터디 > JavaScript' 카테고리의 다른 글
비구조화할당, 스프레드 연산자 (0) | 2024.02.29 |
---|---|
함수[선언식, 표현식, 화살표 함수, 콜백 함수] (0) | 2024.02.29 |
Loops (0) | 2024.02.29 |
변수와 상수[var,let,const 및 호이스팅,스코프] (0) | 2024.02.29 |
자바스크립트(JavaScript)란 ? (0) | 2024.02.29 |