当前位置:网站首页>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)
}
边栏推荐
- Pyg uses messagepassing to build GCN to realize node classification
- QT display Chinese garbled code
- SkyWalking分布式系统应用程序性能监控工具-上
- Attack and defense world web practice area (weak_auth, simple_php, xff_referer)
- Unity TimeLine使用教程
- Wallys/DR4019S/IPQ4019/11ABGN/802.11AC/high power
- [diary of supplementary questions] [2022 Niuke summer school 1] c-grab the seat
- 攻防世界WEB练习区(webshell、command_execution、simple_js)
- Attack and defense world web practice area (webshell, command_execution, simple_js)
- PMP preparation experience | good habits, good process, good results
猜你喜欢

508. 出现次数最多的子树元素和-哈希表法纯c实现

攻防世界WEB練習區(view_source、get_post、robots)

Jina AI and datawhale jointly launched a learning project!

SSM的技术论坛含前后台

Analyze the overall planning of steam and maker education classroom
[email protected] Principle of use"/>(6) Decorator extension [email protected] Principle of use

Analyze the space practice field required by maker education activities

To forge ahead on a new journey, the city chain science and technology carnival was grandly held in Xiamen

Recommendation system topic | recommendation system architecture and single domain cross domain recall model

Doodle icons - a free commercial graffiti style icon library, cute, light and unique
随机推荐
redis数据类型概念
C language exercises
go log包
Soft test --- fundamentals of programming language (Part 1)
C language actual combat guessing game
Qt开发串口通讯软件中的数据转换问题:读取时_QByteArray转string;发送时_数据格式;int转16进制格式string;string中截取字符;16进制数加法;string转ByteAr
Emmet syntax summary
O3DE 的Lumberyard 游戏引擎
Rylstim Screen Recorder
【补题日记】[2022牛客暑期多校2]K-Link with Bracket Sequence I
【补题日记】[2022杭电暑期多校1]C-Backpack
Programmers can't JVM? Ashes Engineer: all waiting to be eliminated! This is a must skill!
Description of relevant resolutions in video on demand
Cloud native explanation [expansion]
【补题日记】[2022牛客暑期多校1]J-Serval and Essay
X Actual combat - Cloud Server
Detailed vector
PMP preparation experience | good habits, good process, good results
Correlation
Unity timeline tutorial