ECMAScript 2017(ES8) 기능 개요는 ES8 릴리스에서 편집되었으며 여기에 저자의 최신 JavaScript 개발: 구문 기본 및 실용 기술 기사 시리즈에 요약된 주요 새로운 기능이 있습니다. 또한 매주 프런트 엔드를 팔로우하실 수 있습니다. 직접 정보를 얻으려면 시리즈를 나열하세요.
ECMAScript 2017 또는 ES8은 2017년 6월 말에 TC39에서 공식적으로 출시되었습니다. 여기에서 전체 버전을 찾아볼 수 있습니다. ES8의 대표적인 기능에는 문자열 채우기, 객체 값 탐색 및 객체 속성 설명자 획득이 포함됩니다. 함수 매개변수 목록 및 호출의 쉼표, 비동기 함수, 공유 메모리 및 원자적 연산 등
ES8에는 padStart 및 padEnd라는 내장 문자열 채우기 기능이 추가되었습니다. 이 함수는 문자열의 머리 부분이나 끝 부분을 채워 문자열이 고정 길이에 도달하도록 보장합니다. 개발자는 패딩 문자열을 지정하거나 사용할 수 있습니다. 함수는 다음과 같이 선언됩니다:
str.padStart(targetLength [, padString]) str.padEnd(targetLength [, padString])
위에 표시된 것처럼 함수의 첫 번째 매개변수는 최종 생성된 문자열의 길이인 대상 길이입니다.
'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'
Object.values 함수는 지정된 객체의 열거 가능한 속성 값의 배열을 반환합니다. 배열의 값 순서는 for-in과 일치합니다. 루프 함수 선언은 다음과 같습니다.
Object.values(obj)
첫 번째 매개변수 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
위 내용은 최신 ES8 기능 개요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!