Maison >interface Web >js tutoriel >Affectation d'objet ES6 et symbole
Cette fois, je vais vous apporter l'affectation et le symbole des objets ES6. Quelles sont les précautions lors de l'utilisation de l'affectation et du symbole des objets ES6. Ce qui suit est un cas pratique, jetons un coup d'œil.
Fusionner l'affectation des objets :
//es6语法允许变量直接为对象的赋值,快捷方便; let liu="呵呵哒"; let long="赖皮哒"; let a={liu,long}; console.log(a) ; //es6语法允许为对象构建key值; let key='skill'; var obj={ [key]:'web'} console.log(obj.skill); //es6语法允许直接合并对象; let s={liuliu:"wowoda",age:20}; let ss={long:"赖皮"}; let sss=Object.assign(s,ss); console.log(sss); //object.is()方法判断是否相等;
Les deux signes égaux effectueront automatiquement une conversion de type lors de la comparaison, mais les trois signes égaux ne le feront pas. les types sont différents, false sera renvoyé directement,
et Object.is() est basé sur le troisième signe égal et gère spécialement NaN, -0, +0, garantissant que -0 et +0 ne sont plus pareil,
mais il convient de noter que Object.is(NaN, NaN) retournera true
Symbole : En tant que nouveau type de données dans es6 Sora : Le la signification littérale de Symbol est symbolique, représentant le caractère unique de quelque chose ;
let myId=Symbol(); let myname=Symbol(); console.log (myname) ===>Symbol() typeof myname ===>symbol console.log(myId===myname) ===>false
Le symbole peut être considéré comme un type de données de base similaire à String ; être converti implicitement ;
Un Symbol() peut être considéré comme créant une nouvelle fonction en mémoire (il n'est donc pas faux de dire que les parenthèses sont le symbole d'une fonction
Le Symbole) ; la fonction peut également transmettre des paramètres ; les paramètres ne sont utilisés que comme description de ce Symbo
let myId=Symbol("id"); let myname=Symbol("名字");
Même si les paramètres de deux Symboles sont les mêmes, ils ne sont pas égaux car un nouveau est créé ; espace mémoire ;
La plus grande utilisation du symbole est en tant qu'attribut d'un objet pour garantir l'unicité
let system=Symbol(); let foo={}; foo[system]="windows"; //还可以保证key值为symbol类型的不被 for in遍历出来; //同样还证明了一点:对象的访问方式,要么以 . ;要么以["这里必须是字符串"];js的底层全部是字符串这种实现; console.log(foo);
Le symbole peut également partager un logo ; >
Symbol.for(" ") ne crée pas une nouvelle mémoire à chaque fois ; il y en a au plus une si le flag aaa n'existe pas dans la page, il en créera un, et si c'est le cas, il le fera directement ; faites référence à l'adresse précédente. ;let sy=Symbol.for("aaa");
Par exemple :
Ensuite : console.log(sy===cccc); En fin de compte, il est garanti que quelqu'un a une description aaa Le caractère unique du type de symbole ;let cccc=Symbol.for("aaa");
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes. sur le site PHP chinois !
Lecture connexe :
Explication détaillée de l'affectation de déstructuration dans ES6Explication détaillée de la portée et de la déclaration des variables dans ES6Ce 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!