NATIVE

settings_applicationsObject  >   settings_applicationsSymbol

NATIVE

Editing
  • bug_report

Constructor

Symbol 객체는 생성자 함수가 존재하며 호출만으로 생성이 가능하다. 또한 심벌을 생성하는 몇 가지 방법이 더 있으므로 아래의 설명과 문법을 참고하기 바란다.

설명

심벌(symbol) 데이터를 생성하는 방법은 다음과 같다. 모두 심벌을 생성하지만 차이를 가지고 있다.

Symbol()
심벌을 생성하는 기본적인 방법이며 생성된 심벌을 저장할 방식(변수, 상수 등)이 필요하다. 따라서 저장할 방식을 선언한 위치에 따라 유효 범위의 영향을 받는다. 자세한 내용은 Symbol() 함수를 참고하기 바란다.
Symbol.for()
Symbol 객체의 정적 메소드로 전역(global)적인 심벌을 생성한다. 특정 키를 인수로 지정하면 전역 심벌 레지스트리 목록(global symbol registry)에서 검색하고 존재하면 해당 심벌을 반환한다. 존재하지 않는 경우에는 지정된 키로 심벌을 생성한다. 유효 범위와 상관없이 심벌이 필요한 곳 어디든지 사용이 가능하다.
Well-Know Symbol
잘 알려진 심벌(well-know symbol)은 심벌을 생성하는 것은 아니지만 기본적으로 내장된 심벌을 필요에 따라 사용한다. 이러한 심벌은 Symbol 객체의 정적 멤버를 참고하기 바란다.

구문

형식
Symbol.for(key)

전역적인 심벌을 생성하거나 반환한다.

형식
[Symbol.iterator]()

잘 알려진 심벌 중에서 반복 가능한 반복자(iterator) 객체를 나타낸다. 이러한 심벌을 키로 사용하는 객체는 이터레이블 프로토콜(iterable protocol)을 준수하는 객체이다. Symbol.iterator 심벌을 키로 사용하는 객체의 멤버는 이터레이터 헬퍼(iterator helper) 객체를 구현한 반복자를 반환하는 메소드이어야 한다.

형식
Symbol([description])

일반적인 심벌 생성 방식이다.

Prototype 체인

Symbol

  • Properties

    • description

      현재 심벌(symbol)에 대한 설명을 조회한다. 설명이 없는 경우에는 undefined를 갖는다.

  • Methods

    • @@toPrimitive

      현재 심벌의 값을 반환한다.

    • toString()

      현재 심벌(symbol)을 나타내는 문자열을 반환한다.

    • valueOf()

      현재 심벌(symbol)의 원시값을 반환한다.

Object

  • Methods

    • hasOwnProperty()

      객체가 특정 프로퍼티를 가지고 있는지를 블린(boolean) 값으로 반환한다.

    • isPrototypeOf()

      해당 객체가 다른 객체의 프로토타입 체인에 속한 객체인지를 체크한다.

    • propertyIsEnumerable()

      매개 변수의 속성이 열거가능(enumerable)한지 여부를 체크한다.

    • toLocaleString()

      객체를 나타내는 문자열을  작동하는 지역(locale)의 방식으로 출력이 된다.

    • toString()

      객체를 나타내는 문자열을 반환한다.

    • valueOf()

      객체의 원시(primitive) 값을 반환한다.

  • Properties

    • constructor

      객체의 생성자 함수를 참조한다.

    • __proto__

      상속된 [[Prototype]] 참조하거나 설정가능하며 일반적으로 실제 코드상에서는 잘 사용되지 않는다. ECMAScript에서 사용되지 않는 비표준이지만 최신 웹브라우저에서는 비공식적으로 지원하고 있다. 따라서 곧 표준 속성으로 지원될 확률이 높다.

      현재는 표준 사양에 명시되었다.

지원 웹브라우저