자바스크립트 상징주의
3959 단어 javascriptcoding
뭐
Symbol
는 자바스크립트의 새로운 기본 유형으로 고유하다는 한 가지 주요 목적을 가지고 있습니다.object
도 고유하지만 Symbol
객체 키로 사용할 수 있다는 이점이 있습니다.어떻게
호출될 때마다 새로운 고유 기호를 반환하는
Symbol()
라는 전역 함수가 있습니다.const mySymbol = Symbol();
const anotherSymbol = Symbol();
mySymbol === anotherSymbol // -> false
설명 포함
나중에 구별하기 위해 설명을 추가할 수도 있습니다.
const mySymbol = Symbol("xyz");
console.log(mySymbol); // -> symbol(xyz)
Be warned, this allows a symbol to be fetched via
Symbol.for("xyz")
. If we want to use a unique key nobody can override, this can be a problem.
또한
Symbol()
를 호출할 때마다 동일한 설명을 사용하더라도 고유한 기호가 생성됩니다.잘 아는 기호
well known symbols 이라는 미리 정의된 기호도 있습니다.
JavaScript에서 문자열 키를 방해하지 않고 개체 동작을 결정하는 데 사용됩니다.
예를 들어
Symbol.iterator
가 있습니다. 이것은 Array
루프에서 사용할 수 있도록 for
의 반복자 메서드를 표시하는 데 사용됩니다.const myObject = {
[Symbol.iterator] = function*() {
yield "first value";
yield "second value";
}
};
for(let value of myObject) console.log(value);
여기에서
Symbol.iterator
키 내부의 개체에 generator function을 추가합니다. 이렇게 하면 myObject
를 for
-루프와 함께 사용할 수 있습니다.왜
한 가지 사용 사례는 기호 작성자만 알고 있는 개체에 키를 추가하는 것입니다.
React 예를 들어
React.createElement()
함수로 생성된 객체를 사용자 지정 기호로 표시하므로 나중에 React 요소임을 알 수 있습니다. 문자열을 사용했다면 실수로 재정의될 수 있습니다.위에서 언급한 또 다른 사용 사례는 잘 알려진 기호를 사용하여 사용자 지정 개체가 보다 고유하게 작동하도록 만드는 것입니다.
Reference
이 문제에 관하여(자바스크립트 상징주의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kayis/javascript-symbolism-32hg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)