symbol 2

[Javascript] iterable , iterator

이터러블이란 순회가능한 데이터를 말한다. 이터러블은 Symbol.iterator 를 프로퍼티 키로 사용한 메서드를 직접 구현하거나 프로토타입 체인을 통해 상속받은 객체이다. ( = 이터러블 프로토콜 ) ES6 이전의 순회 가능한 데이터 컬렉션들은 통일된 규약없이 각자 나름의 구조를 가지고 다양한방법으로 순회가 가능했다. ES6에서는 순회 가능한 데이터 컬렉션을 이터레이션 프로토콜을 준수하는 이터러블로 통일하였다 배열,문자열,Map,Set 등은 이터러블인데 콘솔로 찍어보면 프로토타입 체인을 통해 심볼.이터레이터 메서드를 상속 받고있다. 이터러블객체는 for..of문 뿐만아니라 스프레드 문법과 배열디스트럭처링 할당이 가능하다. const array = [1,2,3]; // 배열은 Array.prototype..

Javascript 2023.08.02

[Javascript] Symbol

Symbol 은 Javascript 의 원시형 데이터 타입이며 ES6버전에 새롭게 추가되었습니다. '심볼(symbol)'은 유일한 식별자(unique identifier)를 만들고 싶을 때 사용합니다. 보통 객체 프로퍼티에 키를 고유하게 설정함으로써 프로퍼티키의 충돌을 방지하기 위해서 사용한다. 객체의 하위호환성을 유지하면서 표준을 확장한다든지, 고유한 상수값을 만드는 데 사용할 수 있다. 서드파티코드나 라이브러리등에서 객체의 값을 추가할때 심볼을 통해서 프로퍼티를 추가하게되면 충돌걱정 없이 값을 추가할수 있다. 심볼을 만들때 심볼이름이라 불리는 설명을 붙일 수 있습니다. // 심볼 id에는 "hi"라는 설명이 붙습니다. let hi = Symbol("hi"); console.dir(hi); // Sym..

Javascript 2023.08.01