일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- MAC
- DRF
- js
- 알고리즘 문제
- django rest framework
- 파이썬 알고리즘
- Git
- django widget
- 알고리즘
- 파이썬
- HTML
- web
- AWS
- API
- form
- java
- 알고리즘 연습
- c++
- 백준
- 알고리즘 풀이
- javascript
- Baekjoon
- react
- PYTHON
- Django
- es6
- Algorithm
- 장고
- django ORM
- CSS
Archives
- Today
- Total
수학과의 좌충우돌 프로그래밍
[ES6] Symbol 본문
Symbol
symbol
은 새로운 데이터 타입입니다.
하지만 실제로 많이 사용되지는 않으니 간단히 알아보도록 하겠습니다.
symbol
의 첫번째 특징은 unique
입니다.
symbol
객체를 만들면 이는 다른 모든 것과는 다른 유일한 것이 됩니다.
const s1 = Symbol();
const s2 = Symbol();
console.log(s1 === s2);
// false
symbol
객체를 만들 때 description 을 넣을 수 있습니다.
하지만 이는 해당 symbol을 설명하기 위할 뿐 값으로서 사용할 수 없습니다.
const s1 = Symbol("first");
const s2 = Symbol("second");
console.log(s1); // Symbol(first)
console.log(s2); // Symbol(second)
두 번째 특징은 privacy
를 보장해줍니다.
settings
object 의 키 값들을 확인한 결과 symbol 을 통해 만든 키 값은 찾아볼 수 없습니다.
const settings = {
color: {
background: "black",
font: "white"
},
[Symbol("size")]: {
font: 14
}
}
console.log(settings);
/*
{
color: { background: 'black', font: 'white' },
[Symbol(size)]: { font: 14 }
}
*/
console.log(Object.keys(settings));
// [ 'color' ]
'웹프로그래밍 > ES6' 카테고리의 다른 글
[ES6] generator (0) | 2020.01.05 |
---|---|
[ES6] proxy (0) | 2020.01.05 |
[ES6] Class의 상속, super, this (0) | 2020.01.04 |
[ES6] Async and Await (0) | 2020.01.03 |
[ES6] Promises - then, catch, all, race, finally (1) | 2020.01.03 |
Comments