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

+ Recent posts