A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Symbol/Symbol below:

Symbol() 생성자 - JavaScript | MDN

Symbol() 생성자

Baseline Widely available

Symbol() 함수는 타입 Symbol의 원시 값을 반환합니다.

시도해 보기
const symbol1 = Symbol();
const symbol2 = Symbol(42);
const symbol3 = Symbol("foo");

console.log(typeof symbol1);
// Expected output: "symbol"

console.log(symbol2 === 42);
// Expected output: false

console.log(symbol3.toString());
// Expected output: "Symbol(foo)"

console.log(Symbol("foo") === Symbol("foo"));
// Expected output: false
구문
Symbol()
Symbol(description)

참고: Symbol()은 오직 new를 사용하지 않고 호출해야 합니다. new와 함께 생성하려하면 TypeError가 발생합니다.

매개변수
description Optional

문자열. 디버깅에는 사용할 수 있지만 심볼 자체에 접근하기 위해 사용할 수 없는, 심볼에 대한 설명입니다.

예제 Symbol 생성하기

새로운 원시 심볼을 만들기 위해서는 아래와 같이 설명으로 사용할 선택적 문자열과 함께 Symbol()을 사용하면 됩니다.

const sym1 = Symbol();
const sym2 = Symbol("foo");
const sym3 = Symbol("foo");

위의 코드는 세 개의 새로운 심볼을 생성합니다. Symbol("foo")는 문자열 "foo"를 강제로 심볼로 만들지 않습니다. 매번 새로운 심볼을 생성합니다.

Symbol("foo") === Symbol("foo"); // false
new Symbol()

new 연산자를 사용한 아래 구문은 TypeError를 발생시킵니다.

const sym = new Symbol(); // TypeError

이는 작성자가 새 심볼 값 대신 명시적인 Symbol 래퍼 개체를 만드는 것을 방지하며 원시 데이터 타입을 중심으로 명시적인 래퍼 개체를 만드는 것이 일반적으로 가능하기 때문에 놀랄 수 있습니다(예: new Boolean, new String and new Number).

정말로 Symbol 래퍼 객체를 생성하려면 Object() 함수를 사용할 수 있습니다.

const sym = Symbol("foo");
const symObj = Object(sym);
typeof sym; // "symbol"
typeof symObj; // "object"
명세서 브라우저 호환성 같이 보기

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4