28.1. 프로그램언어 자바스크립트(JavaScript)에서의 심볼 생성

프로그램언어 자바스크립트(JavaScript)에서의 심볼 속성 읽기

자바스크립트에서 심볼(Symbol)은 유일성을 보장하는 원시 데이터 타입입니다. 심볼은 Symbol() 생성자 함수를 사용하여 생성하며, 각 생성된 심볼은 서로 다른 값으로 간주됩니다. 심볼은 주로 객체의 속성 키로 사용되어 객체 속성의 충돌 가능성을 줄이는 데 활용됩니다.

심볼 속성을 읽기 위해서는 객체의 Object.getOwnPropertySymbols() 메서드를 사용합니다. 이 메서드는 객체의 심볼 속성들을 배열로 반환해줍니다. 반환된 배열을 순회하면서 각 심볼 속성에 접근할 수 있습니다.

아래는 심볼 속성을 읽는 예제 코드입니다.


// 심볼 생성
const mySymbol = Symbol('description');// 객체 생성
const myObject = {
  name: 'John',
  age: 30,
  [mySymbol]: 'This is a symbol property'
};// 심볼 속성 읽기
const symbols = Object.getOwnPropertySymbols(myObject);symbols.forEach(symbol => {
  console.log(symbol.toString(), myObject[symbol]);
});

프로그램언어 자바스크립트(JavaScript)에서의 심볼 속성 쓰기

자바스크립트에서 심볼(Symbol)은 유일한 값을 나타내는 원시 데이터 타입입니다. 심볼은 다른 어떤 값과도 겹치지 않는 고유한 값을 가지며, 주로 객체의 속성 키로 사용됩니다. 심볼은 Symbol() 생성자 함수를 사용하여 생성하며, 각 생성된 심볼은 서로 다릅니다.

심볼 속성을 객체에 추가할 때는 대괄호 표기법을 사용하여 추가할 수 있습니다. 이를 통해 객체의 속성 키로 심볼을 사용할 수 있습니다. 심볼 속성은 일반적인 속성과는 다르게 for…in 루프나 Object.keys 등을 통해 열거되지 않습니다. 이는 심볼 속성이 숨겨진(hidden) 속성이기 때문입니다.

아래는 자바스크립트에서 심볼 속성을 사용하는 예제 코드입니다.


// 심볼 생성
const mySymbol = Symbol('description');// 객체 생성
const myObject = {
  name: 'John',
  age: 30
};// 심볼 속성 추가
myObject[mySymbol] = 'This is a symbol property';// 심볼 속성 값 접근
console.log(myObject[mySymbol]); // 출력: This is a symbol property// 심볼 속성 열거
console.log(Object.getOwnPropertySymbols(myObject)); // 출력: [Symbol(description)]

프로그램언어 자바스크립트(JavaScript)에서의 심볼 속성 업데이트

자바스크립트에서 심볼(Symbol)은 고유하고 변경할 수 없는 데이터 타입으로, 객체 속성의 키로 사용됩니다. 심볼은 주로 객체 속성을 식별하는 데 사용되며, 심볼을 통해 생성된 속성은 다른 속성과 충돌하지 않습니다.

심볼 속성을 업데이트하려면 해당 객체에 접근하여 새 값을 할당하면 됩니다. 심볼은 유일성을 보장하므로 같은 이름의 다른 심볼과 충돌하지 않습니다.

아래는 자바스크립트에서 심볼 속성을 업데이트하는 예제 코드입니다.


// 새로운 심볼 생성
const mySymbol = Symbol('description');// 객체 생성
const myObject = {
  [mySymbol]: 'old value'
};// 기존 심볼 속성 업데이트
myObject[mySymbol] = 'new value';console.log(myObject[mySymbol]); // 출력: 'new value'

프로그램언어 자바스크립트(JavaScript)에서의 심볼 속성 삭제ㅣ

자바스크립트에서 심볼(Symbol) 속성을 삭제하는 방법에 대해 알아보겠습니다.

심볼은 유일무이한 값을 나타내는 자료형으로, 객체의 속성 키로 사용될 때 주로 활용됩니다. 심볼 속성을 삭제하기 위해서는 delete 연산자를 사용해야 합니다.

아래는 심볼 속성을 삭제하는 예제 코드입니다.


// 심볼 생성
const mySymbol = Symbol('mySymbol');// 객체 생성
const myObject = {
  [mySymbol]: 'Hello, Symbol!'
};// 심볼 속성 출력
console.log(myObject[mySymbol]); // 출력: Hello, Symbol!// 심볼 속성 삭제
delete myObject[mySymbol];// 삭제된 심볼 속성 출력
console.log(myObject[mySymbol]); // 출력: undefined

프로그램언어 자바스크립트(JavaScript)에서의 심볼 속성 열거

심볼 속성 열거는 자바스크립트에서 객체의 속성 중 심볼 타입을 가진 속성들을 열거하는 방법을 말합니다. 심볼은 유일성을 보장하는 데이터 타입으로, 주로 객체 속성의 키로 사용됩니다. 일반적인 for…in 루프나 Object.keys 메서드로는 심볼 속성을 열거할 수 없지만, Object.getOwnPropertySymbols 메서드를 사용하여 심볼 속성을 열거할 수 있습니다.

아래는 심볼 속성 열거의 예제 코드입니다.


// 심볼 생성
const mySymbol = Symbol('description');// 객체 생성
const myObject = {
  a: 1,
  b: 2,
  [mySymbol]: 'Hello'
};// 심볼 속성 열거
const symbols = Object.getOwnPropertySymbols(myObject);
symbols.forEach(symbol => {
  console.log(symbol, myObject[symbol]);
});

Leave a Comment