728x90
Symbol
A JavaScript Symbol is a primitive datatype just like Number, String, or Boolean.
It represents a unique "hidden" identifier that no other code can accidentally access.
For instance, if different coders want to add a person.id property to a person object belonging to a third-party code, they could mix each others values. Using Symbol() to create a unique identifiers, solves this problem:
ES6에 추가된 타입.
심볼은 유일하고 변경할 수 없는 타입으로, 객체의 프로퍼티를 위한 식별자로 사용할 수 있습니다.
typeof
피연산자 타입을 반환
객체 프로퍼티 참조
객체이름.프로퍼티이름
or
객체이름["프로퍼티이름"]
[에시코드]
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>JavaScript DataType</title>
</head>
<body>
<h1>심볼 타입</h1>
<p id="result"></p>
<script>
const p = { name: 'Doe' }
var sym = Symbol("Age"); // 심볼 타입
p[sym] = 17
var symObj = Object(sym); // 객체 타입
document.getElementById("result").innerHTML = (typeof sym) + "<br>" + (typeof symObj);
console.log(p)
</script>
</body>
</html>
Call stack, Callback Queue, Event-loop
console.log('1')
setTimeout(() => {
console.log('2')
}, 0);
setTimeout(() => {
console.log('3')
}, 0);
console.log('4')
// call stack:호출된 함수들의 스택, event-loop는 콜스택이 완전히 빌때까지는 다음 콜백을 처리하지 않음
// callback queue(MessageQue)는 앞으로 실행할 콜백(함수와 그 인자)을 쌓아두는 큐
// event : fileI/O, network..
'Study > JavaScript' 카테고리의 다른 글
[JavaScript] Proxy (0) | 2024.04.03 |
---|---|
html + javascript 기초 (0) | 2021.01.07 |
자바스크립트 - 의사 결정 (0) | 2017.03.28 |
자바 스크립트 기초 - 함수, 메서드, 객체 (0) | 2017.03.27 |