La position actuelle:Accueil du site>Type de symbole
Type de symbole
2022-07-24 02:45:53【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)
}
Mentions de copyright
Auteur de cet article [Nancym],Réimpression s’il vous plaît apporter le lien vers l’original, merci
https://fra.chowdera.com/2022/205/202207240244568276.html
Recommandé par sidebar
- [Python flask note 5] Blueprint simple à utiliser
- Composants web - cycle de vie des éléments personnalisés
- Entrepôt de données 4.0 Notes - acquisition de données commerciales
- Entrepôt de données 4.0 Notes - acquisition de données sur le comportement de l'utilisateur II
- Affichage itératif des fichiers.h5, opérations de données h5py
- Résumé des connaissances mathématiques communes
- Comment se développe le serveur GPU refroidi à l'eau dans le Centre de données dans le cadre de l'informatique est - Ouest?
- Connaissance du matériel 1 - schéma et type d'interface (basé sur le tutoriel vidéo complet de l'exploitation du matériel de baiman)
- Examen des principes fondamentaux de la structure en acier
- Unity3d: ugui source, Rebuild Optimization
Devinez que vous aimez
Solution rapide: xshell ne peut pas glisser dans un dossier ou un paquet
Rhcsa - - parcourir le contenu du fichier, couper, uniq, trier, utiliser les commandes.tr
Intégrité du signal (si) intégrité de l'alimentation électrique (PI) notes d'apprentissage (32) Réseau de distribution d'énergie (4)
Quelle est la raison pour laquelle la plate - forme easygbs ne peut pas lire l'enregistrement vidéo et a un phénomène de streaming répété rtmp?

Notes du jour 7

【 Visual Dispatching Software】 Shanghai Dow Ning apporte netronic download, Trial, tutoriel pour l'Organisation SMB
2. Les règles quantitatives
Événements courants de la souris et du clavier
C #: in, out, ref Keywords
Connaissance détaillée du GRE, du mgre; Connaissance de la configuration de base de l'OSPF
Recommandé au hasard
- Comment creo 9.0 modifie - t - il rapidement le système de coordonnées Cao?
- Notes du jour 5
- Renforcement de l'apprentissage - points de compréhension du gradient stratégique
- Le shell a besoin de connaître les commandes
- Okrk3399 Development Board Reserved i2c4 Mounting EEPROM
- Optimisation du serveur Cloud Huawei avec connexion clé
- Chapitre 2 requête de base et tri
- 【 langage c】 devinez jeux numériques + applet d'arrêt
- Qu'est - ce que le codage par titre?
- Feignclient utilise un tutoriel détaillé (illustration)
- Kettle implémente une connexion de base de données partagée et insère une instance de composant de mise à jour
- Simulation de modulation et de démodulation du signal CBOC basée sur MATLAB, sortie de corrélation, spectre de puissance et suivi de décalage de fréquence
- Les raccourcis clavier liés à l'onglet ne peuvent pas être utilisés après la mise à jour du vscode
- Expression du suffixe (une question par jour pendant les vacances d'été 4)
- Idées de conception sur l'initialisation des paramètres d'entrée de page
- Éléments de base de la validation des haricots - 04
- Une solution complète au problème du sac à dos dans la programmation dynamique
- Récursion des bosses 1: formule récursive
- Explication détaillée de l'injection aveugle d'erreur SQL
- Données chronologiques dans l'Internet industriel des objets
- Une erreur s'est produite lors de la configuration du login du moteur Gom: aucun correctif requis n'a été trouvé!
- [215] Gin Framework connection to MySQL Database
- Explication détaillée du principe de co - intégration en go
- [jzoof] 13 plage de mouvement du robot
- PCL: ajustement multiligne (RANSAC)
- 1259. Programmation dynamique de poignée de main disjointe
- Conception de l'interface UART basée sur la FPGA
- Elk note 25 - expérience rapide APM
- Analyse de l'industrie | interphone logistique
- Principe de l'énergie et méthode variationnelle note 19: principe de l'énergie résiduelle minimale + principe du travail possible
- Atelier macoll - notes de développement de la secte de l'ours 2
- Comment présenter votre expérience de projet lors d'une entrevue
- Scala Programming (Junior)
- Synchro esp32c3 Hardware Configuration Information serial port Print Output
- Serveur de chat de Cluster: conception de la table de base de données
- Apprentissage Lambda (utilisation du comparateur après tri, regroupement après collecte avec collectors.groupingby)
- Comment forcer complètement le meurtre de processus indépendants de l'arrière - plan?
- Programmation JDBC pour MySQL
- Utilisation des fonctions fléchées es6
- Lu Xia action | Source Kai Digital: Existing Mode or open source innovation?