N'oubliez pas de vous abonner à ma chaîne télégramme, je partagerai des articles intéressants sur le développement avant! ?
Commencez!
pour améliorer la lisibilité du code. _
const sixBillion = 6000000000; // 难以阅读 const sixBillion2 = 6000_000_000; // 更易于阅读 console.log(sixBillion2); // 6000000000 // 也可用于计算 const sum = 1000 + 6000_000_000; // 6000001000
&&
const obj = null; console.log(obj && obj.name); const title1 = document.querySelector('.title'); const title = title1 ? title.innerText : undefined;
const obj = null; console.log(obj?.name); const title1 = document.querySelector('.title'); const title = title1?.innerText;
(9007199254740991) dans JS ne peut être garantie, ce qui est frustrant. Number.MAX_SAFE_INTEGER
Afin de calculer le grand nombre, il est recommandé d'utiliser BigInt. Cela aidera à éviter de calculer les erreurs.
Math.pow(2, 53) === Math.pow(2, 53) + 1; // true // Math.pow(2, 53) => 9007199254740992 // Math.pow(2, 53) + 1 => 9007199254740992
BigInt(Math.pow(2, 53)) === BigInt(Math.pow(2, 53)) + BigInt(1); // false
in
in
Les deux ont leurs lacunes: obj.hasOwnProperty()
<算> Les attributs existants de la vérification des caractères informatiques, y compris les attributs de l'héritage du prototype. Si vous voulez simplement vérifier les attributs de l'objet lui-même, pas l'attribut de son prototype, cela peut conduire à des résultats inattendus.
in
obj.hasOwnProperty()
. hasOwnProperty
obj.hasOwnProperty()
Lors du traitement de gros objets ou des structures de données imbriquées,
Object.getPrototypeOf()
Exemple simple: Object.prototype.isPrototypeOf()
Il existe également un opérateur plus pratique et plus sûr in
. obj.hasOwnProperty()
const sixBillion = 6000000000; // 难以阅读 const sixBillion2 = 6000_000_000; // 更易于阅读 console.log(sixBillion2); // 6000000000 // 也可用于计算 const sum = 1000 + 6000_000_000; // 6000001000
#
pour déclarer des propriétés privéesDans le passé, afin d'indiquer qu'un champ est privé, nous avions l'habitude d'ajouter un trait de soulignement (_) avant le nom de l'attribut. Mais maintenant, nous pouvons utiliser #
pour déclarer des propriétés véritablement privées :
const obj = null; console.log(obj && obj.name); const title1 = document.querySelector('.title'); const title = title1 ? title.innerText : undefined;
??
au lieu de ||
Utilisez l'opérateur ??
au lieu de ||
pour vérifier si la valeur sur le côté gauche de l'opérateur est nulle ou indéfinie et renvoie la valeur sur le côté droit.
Exemple :
const obj = null; console.log(obj?.name); const title1 = document.querySelector('.title'); const title = title1?.innerText;
Dans l'exemple ci-dessus, l'opérateur ??
renvoie la valeur de sa variable de gauche si la valeur de la variable de gauche n'est pas nulle ou indéfinie.
Sinon, si la valeur de la variable de gauche est nulle ou indéfinie, l'opérateur renvoie la valeur de la variable de droite.
De nombreux développeurs utilisent la fonction parseInt()
pour convertir des chaînes en nombres, mais vous pouvez utiliser l'opérateur
pour obtenir le même résultat, qui est plus concis :
Math.pow(2, 53) === Math.pow(2, 53) + 1; // true // Math.pow(2, 53) => 9007199254740992 // Math.pow(2, 53) + 1 => 9007199254740992
Les deux méthodes fonctionnent, mais l'opérateur
est plus simple et plus clair.
Math.floor()
Au lieu d'utiliser la fonction Math.floor()
pour arrondir un nombre inférieur, utilisez l'opérateur bit à bit non ~~
comme raccourci :
BigInt(Math.pow(2, 53)) === BigInt(Math.pow(2, 53)) + BigInt(1); // false
Je ne vous recommande pas d'utiliser toutes les techniques décrites dans cet article. Certaines méthodes peuvent endommager votre code, mais il est important de les connaître.
Merci d’avoir lu cet article ! J'espère que vous avez appris quelque chose d'utile. Restez à l'écoute pour la deuxième partie ! ?
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!