Un aperçu des fonctionnalités d'ECMAScript 2017 (ES8) compilé à partir d'ES8 a été publié et voici ses principales nouvelles fonctionnalités, résumées dans la série d'articles Développement JavaScript moderne : bases de la syntaxe et compétences pratiques de l'auteur. Vous êtes également invités à prêter attention au premier plan ; -terminez la série de listes de contrôle hebdomadaires pour obtenir des informations de première main.
ECMAScript 2017 ou ES8 a été officiellement publié par TC39 fin juin 2017. Vous pouvez parcourir la version complète ici ; les fonctionnalités représentatives d'ES8 incluent le remplissage de chaîne et la valeur d'objet ; parcours, acquisition de descripteurs d'attributs d'objet, liste de paramètres de fonction et virgules de fin dans les appels, fonctions asynchrones, mémoire partagée et opérations atomiques, etc.
ES8 a ajouté des fonctions de remplissage de chaîne intégrées, à savoir padStart et padEnd. Cette fonction peut garantir que la chaîne atteint une taille fixe en remplissant la tête ou la queue de la chaîne. Longueur ; les développeurs peuvent spécifier la chaîne remplie ou utiliser des espaces par défaut. La fonction est déclarée comme suit :
str.padStart(targetLength [, padString]) str.padEnd(targetLength [, padString])
Comme indiqué ci-dessus, le premier paramètre de la fonction est la longueur cible, c'est-à-dire la longueur de la chaîne générée finale ; le deuxième paramètre est la chaîne de remplissage spécifiée :
'es8'.padStart(2); // 'es8' 'es8'.padStart(5); // ' es8' 'es8'.padStart(6, 'woof'); // 'wooes8' 'es8'.padStart(14, 'wow'); // 'wowwowwowwoes8' 'es8'.padStart(7, '0'); // '0000es8' 'es8'.padEnd(2); // 'es8' 'es8'.padEnd(5); // 'es8 ' 'es8'.padEnd(6, 'woof'); // 'es8woo' 'es8'.padEnd(14, 'wow'); // 'es8wowwowwowwo' 'es8'.padEnd(7, '6'); // 'es86666'
La fonction Object.values sera renvoie le tableau spécifié de valeurs d'attributs énumérables de l'objet. L'ordre des valeurs dans le tableau est cohérent avec la boucle for-in. La déclaration de fonction est :
Object.values(obj)
const obj = { x: 'xxx', y: 1 }; Object.values(obj); // ['xxx', 1] const obj = ['e', 's', '8']; // same as { 0: 'e', 1: 's', 2: '8' }; Object.values(obj); // ['e', 's', '8'] // when we use numeric keys, the values returned in a numerical // order according to the keys const obj = { 10: 'xxx', 1: 'yyy', 3: 'zzz' }; Object.values(obj); // ['yyy', 'zzz', 'xxx'] Object.values('es8'); // ['e', 's', '8']
const obj = { x: 'xxx', y: 1 }; Object.entries(obj); // [['x', 'xxx'], ['y', 1]] const obj = ['e', 's', '8']; Object.entries(obj); // [['0', 'e'], ['1', 's'], ['2', '8']] const obj = { 10: 'xxx', 1: 'yyy', 3: 'zzz' }; Object.entries(obj); // [['1', 'yyy'], ['3', 'zzz'], ['10': 'xxx']] Object.entries('es8'); // [['0', 'e'], ['1', 's'], ['2', '8']]
Object.getOwnPropertyDescriptor(obj, prop)
const obj = { get es8() { return 888; } }; Object.getOwnPropertyDescriptor(obj, 'es8'); // { // configurable: true, // enumerable: true, // get: function es8(){}, //the getter function // set: undefined // }
function es8(var1, var2, var3,) { // ... } es8(10, 20, 30,);
function fetchTextByPromise() { return new Promise(resolve => { setTimeout(() => { resolve("es8"); }, 2000); }); } async function sayHello() { const externalFetchedText = await fetchTextByPromise(); console.log(`Hello, ${externalFetchedText}`); // Hello, es8 } sayHello(); console.log(1); sayHello(); console.log(2); // 调用结果 1 // immediately 2 // immediately Hello, es8 // after 2 seconds
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!