当前位置:网站首页>Type de symbole
Type de symbole
2022-07-24 02:45:00 【Nancym】
SymbolType
Symbol(Symbole)- Oui.ECMAScript6Nouveau type de données.Le symbole est la valeur originale,Et l'Instance symbolique est unique、Immuable.Le but du symbole est de s'assurer que les propriétés de l'objet utilisent un identificateur unique,Risque de conflit d'attributs
Définition de la DéclarationSymbolDe plusieurs façons
let sym = Symbol() let sym1 = Symbol() console.log(sym == sym1) // false let sym2 = Symbol('Les paramètres de chaîne peuvent être passés comme description du symbole') console.log(sym2.description) // Les paramètres de chaîne peuvent être passés comme description du symbole console.log(sym2) // Symbol(Les paramètres de chaîne peuvent être passés comme description du symbole) console.log(sym2.toString()) // Symbol(Les paramètres de chaîne peuvent être passés comme description du symbole) let sym = Symbol.for('Inscription globale') let sym1 = Symbol.for('Inscription globale') console.log(sym == sym1) // true console.log(Symbol.keyFor(sym)) // Inscription globale console.log(Symbol.keyFor(sym1)) // Inscription globale UtiliserSymbol Résoudre le problème du couplage des chaînes
Dans un objet, si keyNom répété,Derrière.keyVa mettre devantkeyÉcraser,UtiliserSymbol Définition de type valeur unique ,Résoudre le problème de la couverture
let user1 = {
name: 'lisi',
key: Symbol(),
}
let user2 = {
name: 'lisi',
key: Symbol(),
}
let grade = {
[user1.key]: { js: 90, css: 100 },
[user2.key]: { js: 20, css: 40 },
}
console.log(grade) // Symbol(): {js: 90, css: 100}
// Symbol(): {js: 20, css: 40}
console.log(grade[user2.key]) // { js: 20, css: 40 }
Symbol Utilisation dans les tampons
class Cache {
static data = {}
static set(name, value) {
this.data[name] = value
}
static get(name) {
return this.data[name]
}
}
let user = {
name: 'apple',
key: Symbol(),
}
let cart = {
name: 'apple',
key: Symbol(),
}
Cache.set(user.key, user)
Cache.set(cart.key, cart)
console.log(Cache.get(user.key))
Propriétés étendues et protection des propriétés de l'objet
UtiliserSymbolDéfinitionkeyNe sera pasfor..inEtfor..ofTraverser,Adoptionfor ..of Reflect.ownKeys() Qui peut traverser l'objet SymbolPropriétés
let sym = Symbol('C'est unSymbolType')
let hd = {
name: 'doudun',
[sym]: 'doudounnnn',
}
for (const key in hd) {
console.log(key) // name
}
for (const key of Object.getOwnPropertySymbols(hd)) {
console.log(key) // Symbol(C'est unSymbolType)
}
for (const key of Reflect.ownKeys(hd)) {
console.log(key) // name Symbol(C'est unSymbolType)
}
边栏推荐
- [management / upgrade] * 02. View the upgrade path * FortiGate firewall
- Tutoriel sur l'utilisation de la ligne de temps unitaire
- go strconv
- Go basic notes_ 5_ Array slice
- Force open web page
- go errors
- [interview: concurrent Article 21: multithreading: activeness] deadlock, livelock, hunger
- Rylstim Screen Recorder
- PMP first-hand data and information acquisition
- The practical influence of educational robot on students' learning effect
猜你喜欢

自定义kindeditor富文本默认的宽高

How to get gait energy map Gei

Programmers can't JVM? Ashes Engineer: all waiting to be eliminated! This is a must skill!

O3DE 的Lumberyard 游戏引擎

云原生讲解【扩展篇】

Tutoriel sur l'utilisation de la ligne de temps unitaire

Leetcode 203. remove linked list elements (2022.07.22)

IBM: realize the quantum advantage of fault tolerance by 2030
![[management / upgrade] * 02. View the upgrade path * FortiGate firewall](/img/c7/da6db46d372e7462cd14852b662d6d.png)
[management / upgrade] * 02. View the upgrade path * FortiGate firewall

TP5 framework link promotion project
随机推荐
To forge ahead on a new journey, the city chain science and technology carnival was grandly held in Xiamen
Description of relevant resolutions in video on demand
软考---程序设计语言基础(上)
I'm a novice. I heard that there is a breakeven financial product in opening an account. What is it?
How to get gait energy map Gei
PMP preparation experience | good habits, good process, good results
Only beautiful ones can be opened
[datasets] - downloading some datasets of flyingthings3d optical flow
理解加载class到JVM的时机
22 -- 二叉搜索树的范围和
SSM's technical forum includes front and back offices
Nirvana rebirth! Byte Daniel recommends a large distributed manual, and the Phoenix architecture makes you become a God in fire
rust allow dead_ code
Live800:客户服务无小事,别让服务击溃企业口碑
508. 出现次数最多的子树元素和-哈希表法纯c实现
IBM: realize the quantum advantage of fault tolerance by 2030
Unity TimeLine使用教程
Programmers can't JVM? Ashes Engineer: all waiting to be eliminated! This is a must skill!
Wechat applet realizes broken line area chart rose chart three-dimensional histogram
微信小程序实现折线面积图-玫瑰图-立体柱状图