정보실

웹학교

정보실

javascript 자바 스크립트 기호

본문

JavaScript 기호를 이해하기 쉬운 자습서


Symbol은 문자열, 숫자, 부울, 널 및 정의되지 않은 JavaScript의 기본 데이터 유형입니다.


몇 년 전 ECMAScript 2015에 도입되었습니다.


매우 독특한 데이터 유형입니다. 심볼을 생성하면 해당 값은 비공개로 유지되고 내부용으로 유지됩니다.


생성 후 남은 것은 기호 참조입니다.


Symbol() 전역 팩토리 함수를 호출하여 심볼을 만듭니다.

const mySymbol = Symbol()

Symbol()을 호출 할 때마다 새롭고 고유 한 심볼이 생겨 다른 모든 심볼과 달라집니다.

Symbol() === Symbol() //false


매개 변수를 Symbol()에 전달하면 심볼 설명으로 사용되며 디버깅 목적으로만 유용합니다.

console.log(Symbol()) //Symbol()
console.log(Symbol('Some Test')) //Symbol(Some Test)

심볼은 종종 객체 속성을 식별하는 데 사용됩니다.


기호가 다른 기호와 같지 않기 때문에 속성 간 이름 충돌을 피하기 위해 종종 있습니다.


또는 사용자가 의도적으로 또는 실현하지 않고 덮어 쓸 수 없는 속성을 추가합니다.


const NAME = Symbol()
const person = {
  [NAME]: 'Flavio'
}

person[NAME] //'Flavio'

const RUN = Symbol()
person[RUN] = () => 'Person is running'
console.log(person[RUN]()) //'Person is running'


심볼이 열거되지 않아서 객체에 대한 for..of 또는 for..in 루프에 포함되지 않습니다.


심볼은 Object.keys() 또는 Object.getOwnPropertyNames() 결과의 일부가 아닙니다.


Object.getOwnPropertySymbols() 메소드를 사용하여 객체에 할당 된 모든 심볼에 액세스 할 수 있습니다.




페이지 정보

조회 36회 ]  작성일19-08-16 10:23

웹학교