Le type de données qui n'appartient pas à javascript est interface, qui est un mot réservé en js et les types de données de javascript incluent Non défini, Nombre, Symbole, etc.
L'environnement d'exploitation de cet article : système Windows 7, version JavaScript 1.8.5, ordinateur Dell G3.
Les types de données de base de JavaScript sont : (1) Non défini, (2) Null, (3) Booléen, (4) Chaîne, (5) Nombre, (6) Symbole, ( 7) Objet. ES6 ajoute le type Symbole. Ce qui suit parle principalement de certains points de connaissances associés au type Symbole.
Caractéristiques du symbole
1. L'instance est unique et immuable un identifiant unique Le symbole ; peut être utilisé comme nom d'attribut unique de l'objet afin que d'autres n'écrasent pas ou n'écrasent pas la valeur d'attribut que vous avez définie.
1 let id = Symbol("id");
2. Caractéristiques des types de données : unicité, même si les valeurs générées par une même variable ne sont pas égales.
1 let id1 = Symbol("id");2 let id2 = Symbol("id");3 console.log(id1 == id2); //false
3. Caractéristiques des types de données : cachéité, for···in, object.keys() ne peut pas accéder.
1 let id = Symbol("id");2 let obj = {3 [id] : 'symbol' 4 }5 for ( let key in obj){6 console.log(obj[key]); //输出为空7 }
Méthodes accessibles : Object.getOwnPropertySymbols, renverra un tableau dont les membres sont tous des fonctions de l'objet actuel Valeur du symbole du nom de l'attribut.
1 let id = Symbol("id");2 let obj = {3 [id] : 'symbol' 4 }5 let arr = Object.getOwnPropertySymbols(obj);6 console.log(arr) // [Symbol(id)]7 console.log(obj[arr[0]]) // 'symbol'
4. La même valeur de symbole peut être utilisée plusieurs fois. Le responsable propose une méthode d'enregistrement et d'enregistrement globale : Symbol.for()<.>
let name1 = Symbol.for("name"); // 检测未创建后新建let name2 = Symbol.for("name"); // 检测已创建后返回console.log(name1 == name2); // true
De cette façon, vous pouvez obtenir l'objet symbole global via la valeur du paramètre. Au contraire, vous pouvez utiliser Symbol.keyFor()<.>Obtenir les valeurs des paramètres.
let name1 = Symbol.for("name"); let name2 = Symbol.for("name"); console.log(Symbol.keyFor("name1")); // 'name'console.log(Symbol.keyFor("name2")); // 'name'
let s = Symbol('foo'); console.log(s instanceof Symbol); // false
[Apprentissage recommandé :
Tutoriel avancé javascript]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!