JavaScriptシンボル構成部品
9140 ワード
参考資料:https://www.youtube.com/watch?v=E9uCNn6BaGQ
参考資料:https://poiemaweb.com/es6-symbol
記号で定義できます.
📌 Symbol
参考資料:https://poiemaweb.com/es6-symbol
property
を定義するとconst obj = {
1 : 'one',
false : 'boolean'
}
Object.keys(obj); // ["1" , "false"]
obj['1'] // "one"
obj['false'] // "boolean"
使用後にObject
を使用して値をロードすることができ、記号で定義できます.
📌 Symbol
Symbolは一意の識別子を作成するために使用され、変更できない元のタイプの値です.
構成部品は、主に名前の競合のリスクのない唯一のオブジェクトを作成するpropertyキー(property key)に使用されます.Symbol
が生成すると、let symbol = Symbol();
この方法では、new
は使用されない.const a = Symbol();
const b = Symbol();
console.log(typeof a); // symbol
console.log(typeof b); // symbol
console.log(a) // Symbol()
console.log(b) // Symbol()
console.log(a===b) // false
const id = Symbol('id');
📌 Symbol一意値
Symbol値は一意の値であるため、Symbol値をキーとしたPropertyは他のPropertyと競合しません.const id = Symbol('id');
const id2 = Symbol('id');
console.log(id); // Symbol(id)
console.log(id2); // Symbol(id)
出力は同じです.では、二つを比較するとどうなるのでしょうか.const id = Symbol('id');
const id2 = Symbol('id');
console.log(id); // Symbol(id)
console.log(id2); // Symbol(id)
console.log(id===id2); // false
console.log(id===id2); // false
📌 コンポーネントをオブジェクトとして使用するキー import { log } from 'console';
const id = Symbol('id');
const user = {
name : 'ash',
age : 3,
[id] : 'myid',
}
log(user);
// { name: 'ash', age: 3, [Symbol(id)]: 'myid' }
Object.keys(user); // ["name" , "age"]
idには値は出力されません.同様に、身長がSymbol
であればスキップできます.
Reference
この問題について(JavaScriptシンボル構成部品), 我々は、より多くの情報をここで見つけました
https://velog.io/@ash3767/javascript-symbol
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
const a = Symbol();
const b = Symbol();
console.log(typeof a); // symbol
console.log(typeof b); // symbol
console.log(a) // Symbol()
console.log(b) // Symbol()
console.log(a===b) // false
const id = Symbol('id');
Symbol値は一意の値であるため、Symbol値をキーとしたPropertyは他のPropertyと競合しません.
const id = Symbol('id');
const id2 = Symbol('id');
console.log(id); // Symbol(id)
console.log(id2); // Symbol(id)
出力は同じです.では、二つを比較するとどうなるのでしょうか.const id = Symbol('id');
const id2 = Symbol('id');
console.log(id); // Symbol(id)
console.log(id2); // Symbol(id)
console.log(id===id2); // false
console.log(id===id2); // false
📌 コンポーネントをオブジェクトとして使用するキー import { log } from 'console';
const id = Symbol('id');
const user = {
name : 'ash',
age : 3,
[id] : 'myid',
}
log(user);
// { name: 'ash', age: 3, [Symbol(id)]: 'myid' }
Object.keys(user); // ["name" , "age"]
idには値は出力されません.同様に、身長がSymbol
であればスキップできます.
Reference
この問題について(JavaScriptシンボル構成部品), 我々は、より多くの情報をここで見つけました
https://velog.io/@ash3767/javascript-symbol
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import { log } from 'console';
const id = Symbol('id');
const user = {
name : 'ash',
age : 3,
[id] : 'myid',
}
log(user);
// { name: 'ash', age: 3, [Symbol(id)]: 'myid' }
Object.keys(user); // ["name" , "age"]
Reference
この問題について(JavaScriptシンボル構成部品), 我々は、より多くの情報をここで見つけました https://velog.io/@ash3767/javascript-symbolテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol