Type de données de symbole en javascript
Le type de données Symbole en JavaScript est un type de données de base utilisé pour représenter des valeurs uniques. Caractéristiques du Symbole : 1. Unique, chaque valeur du Symbole est unique et ne sera égale à aucune autre valeur ; 2. Immuabilité, une fois la valeur du Symbole créée, elle ne peut pas être modifiée ou réaffectée 3. Caractère caché, la valeur du Symbole ne peut pas être ; modifié ou réaffecté ; il sera implicitement converti en d'autres types ; 4. Il ne peut pas être énuméré lorsque la valeur du symbole est utilisée comme nom d'attribut de l'objet, elle n'est pas énumérable par défaut.
Le type de données Symbole en JavaScript est une nouvelle fonctionnalité introduite par ES6. Il s'agit d'un type de données de base utilisé pour représenter des valeurs uniques. Les valeurs des symboles peuvent être utilisées comme noms d'attributs d'objets pour résoudre le problème des conflits de noms d'attributs. Cet article présentera en détail les caractéristiques, l'utilisation et certains scénarios d'application courants du type de données Symbol.
1. Caractéristiques du symbole
1. Unique : chaque valeur de symbole est unique et ne sera égale à aucune autre valeur, même si la description de la valeur du symbole est la même. Cela signifie que vous pouvez utiliser la valeur Symbol comme nom d'attribut de l'objet pour garantir l'unicité du nom d'attribut et éviter les conflits de noms d'attribut.
2. Immuabilité : une fois qu'une valeur de symbole est créée, elle ne peut pas être modifiée ou réaffectée. Ceci est différent des types de données tels que les chaînes et les nombres, qui peuvent modifier leur valeur par réaffectation, tandis que les valeurs des symboles sont immuables.
3. Hiddenness : les valeurs des symboles ne seront pas implicitement converties en d'autres types. Par exemple, l’ajout d’une valeur Symbol à une chaîne ne donnera pas le résultat attendu, mais générera une TypeError. Ce masquage évite les problèmes inattendus de conversion de type.
4. Inénumérable : lorsque la valeur du symbole est utilisée comme nom d'attribut de l'objet, elle n'est pas énumérable par défaut. Cela signifie que le nom de la propriété Symbol ne peut pas être obtenu à l'aide de la boucle for...in ou de la méthode Object.keys(). Cette fonctionnalité peut être utilisée pour masquer la traversée de certains attributs.
2. Utilisation du symbole
1. Créer une valeur de symbole : vous pouvez utiliser la fonction Symbol() pour créer une valeur de symbole. Cette fonction peut accepter un paramètre de description facultatif pour identifier le but ou la signification de la valeur du symbole.
let sym = Symbol(); console.log(typeof sym); // "symbol" let symWithDesc = Symbol("description"); console.log(symWithDesc.toString()); // "Symbol(description)"
2. Utiliser le symbole comme nom d'attribut : vous pouvez utiliser la valeur du symbole comme nom d'attribut de l'objet pour garantir l'unicité du nom d'attribut.
let obj = { [Symbol("key")]: "value" }; console.log(obj[Symbol("key")]); // undefined,每次使用Symbol()函数创建的Symbol值都是不相等的 let sym = Symbol("key"); obj[sym] = "new value"; console.log(obj[sym]); // "new value"
3. Obtenez les noms de propriétés Symbol : vous pouvez utiliser la méthode Object.getOwnPropertySymbols() pour obtenir tous les noms de propriétés Symbol de l'objet.
let obj = { [Symbol("key1")]: "value1", [Symbol("key2")]: "value2" }; let symbols = Object.getOwnPropertySymbols(obj); console.log(symbols); // [Symbol(key1), Symbol(key2)] console.log(obj[symbols[0]]); // "value1"
4. Propriétés intégrées des symboles : les valeurs des symboles ont des propriétés intégrées qui peuvent être utilisées pour modifier le comportement par défaut des objets.
- Symbol.iterator : utilisé pour définir la méthode itérateur par défaut des objets.
- Symbol.toStringTag : utilisé pour modifier la balise chaîne renvoyée par la méthode toString() par défaut de l'objet.
- Symbol.hasInstance : utilisé pour définir le comportement par défaut de l'opérateur instanceof pour les objets.
- Symbol.toPrimitive : utilisé pour définir le comportement par défaut des objets convertis en valeurs primitives.
let obj = { [Symbol.iterator]: function* () { yield 1; yield 2; }, [Symbol.toStringTag]: "MyObject" }; console.log([...obj]); // [1, 2] console.log(obj.toString()); // "[object MyObject]"
3. Scénarios d'application de Symbol
1. Résolution des conflits de noms d'attribut : l'utilisation de la valeur de symbole comme nom d'attribut de l'objet peut éviter les conflits de noms d'attribut entre différents modules ou bibliothèques.
2. Définir des constantes : vous pouvez utiliser les valeurs des symboles pour définir des constantes afin de garantir l'unicité des constantes.
const RED = Symbol("red"); const BLUE = Symbol("blue");
3. Attributs cachés : l'utilisation de la valeur du symbole comme nom d'attribut de l'objet peut masquer certains attributs pour empêcher leur traversée.
let obj = { [Symbol("hidden")]: "value", visible: "value" }; for (let key in obj) { console.log(key); // "visible",Symbol属性名不可枚举 }
4. Étendre les objets intégrés : vous pouvez utiliser les valeurs de symboles pour étendre les fonctionnalités des objets intégrés et leur ajouter des méthodes ou des propriétés personnalisées.
Array.prototype[Symbol.iterator] = function* () { for (let i = 0; i < this.length; i++) { yield this[i]; } }; let arr = [1, 2, 3]; console.log([...arr]); // [1, 2, 3]
Pour résumer, le type de données Symbol est un type de données de base en JavaScript, utilisé pour représenter des valeurs uniques. Il présente les caractéristiques d'être unique, immuable, masqué et non énumérable, et peut être utilisé dans des scénarios tels que la résolution de conflits de noms de propriétés, la définition de constantes, le masquage de propriétés et l'extension d'objets intégrés. La création et l'utilisation des valeurs Symbole sont relativement simples, mais vous devez faire attention à sa particularité et à son caractère caché pour éviter des problèmes inattendus.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de réservation en ligne. À l'ère numérique d'aujourd'hui, de plus en plus d'entreprises et de services doivent fournir des fonctions de réservation en ligne. Il est crucial de mettre en place un système de réservation en ligne efficace et en temps réel. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de réservation en ligne et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ? WebSocket est une méthode full-duplex sur une seule connexion TCP.

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Utilisation : En JavaScript, la méthode insertBefore() est utilisée pour insérer un nouveau nœud dans l'arborescence DOM. Cette méthode nécessite deux paramètres : le nouveau nœud à insérer et le nœud de référence (c'est-à-dire le nœud où le nouveau nœud sera inséré).

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service
