728x90
8주차
symbol
유일한 프로퍼티 키를 만들기 위해 사용
const mySymbol1 = Symbol('mySymbol');
const mySymbol2 = Symbol('mySymbol');
console.log(mySymbol1 === mySymbol2);
심벌과 상수
// 위, 아래, 왼쪽, 오른쪽을 나타내는 상수를 정의한다.
// 중복될 가능성이 없는 심벌 값으로 상수 값을 생성한다.
const Direction = {
UP: Symbol('up'),
DOWN: Symbol('down'),
LEFT: Symbol('left'),
RIGHT: Symbol('right')
};
const myDirection = Direction.UP;
if (myDirection === Direction.UP) {
console.log('You are going UP.');
}
typescript test
참고 : ts에서 enum은 트리쉐이킹(사용하지 않는 코드를 삭제하는 기능)이 안되서 아래와 같이 작성함
//ts
const MOBILE_OS = {
IOS: Symbol('iOS'),
Android: Symbol('Android')
} as const;
type MOBILE_OS = typeof MOBILE_OS[keyof typeof MOBILE_OS]; // 'iOS' | 'Android'
//변환된 js -> Good
const MOBILE_OS = {
IOS: Symbol('iOS'),
Android: Symbol('Android')
};
다른 사용법은 글쎄?
'공부공부 > JS 딥다이브' 카테고리의 다른 글
[js 딥다이브] 35장 스프레드 문법 (0) | 2024.02.15 |
---|---|
[js 딥다이브] 34장 이터러블 (0) | 2024.02.15 |
[js 딥다이브] 32장 String (0) | 2024.02.15 |
[js 딥다이브] 31장 RegExp (0) | 2024.02.15 |
[js 딥다이브] 30장 Date (0) | 2024.02.15 |