手册

目录

JS 2017

收藏591

阅读599

更新时间2025-08-07

ECMAScript 2017 中的新特性

本章介绍 ECMAScript 2017 的新特性:

  • JavaScript 字符串填充
  • JavaScript Object.entries
  • JavaScript Object.values
  • JavaScript 异步函数
  • JavaScript 共享内存

JavaScript 字符串填充

ECMAScript 2017 添加了两个 String 方法:padStartpadEnd,以支持在字符串的开头和结尾进行填充。

实例

let str = "5";
str = str.padStart(4,0);
// 结果是: 0005
运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

let str = "5";
str = str.padEnd(4,0);
// 结果是: 5000
运行实例 »

点击 "运行实例" 按钮查看在线实例

Internet Explorer 不支持字符串填充。

Firefox 和 Safari 是第一批支持 JavaScript 字符串填充的浏览器:

Chrome IE Firefox Safari Opera
Chrome 57 Edge 15 Firefox 48 Safari 10 Opera 44
2017 年 3 月 2017 年 4 月 2016 年 8 月 2016 年 9 月 2017 年 3 月

JavaScript 对象条目

ECMAScript 2017 向对象添加了新的 Object.entries 方法。

Object.entries() 方法返回对象中键/值对的数组:

实例

const person = {
  firstName : "Bill",
  lastName : "Gates",
  age : 50,
  eyeColor : "blue"
};
document.getElementById("demo").innerHTML = Object.entries(person);
运行实例 »

点击 "运行实例" 按钮查看在线实例

Object.entries() 使循环中使用对象变简单了:

实例

const fruits = {Bananas:300, Oranges:200, Apples:500};

let text = "";
for (let [fruit, value] of Object.entries(fruits)) {
text += fruit + ": " + value + "
";
}
运行实例 »

点击 "运行实例" 按钮查看在线实例

Object.entries() 也使得将对象转换为映射变得简单:

实例

const fruits = {Bananas:300, Oranges:200, Apples:500};

const myMap = new Map(Object.entries(fruits));
运行实例 »

点击 "运行实例" 按钮查看在线实例

Chrome 和 Firefox 是第一批支持 Object.entries 的浏览器:

Chrome IE Firefox Safari Opera
Chrome 47 Edge 14 Firefox 47 Safari 10.1 Opera 41
2016 年 6 月 2016 年 8 月 2016 年 6 月 2017 年 3 月 2016 年 10 月

JavaScript 对象值

Object.values 类似 Object.entries,但返回对象值的单维数组:

实例

const person = {
  firstName : "Bill",
  lastName : "Gates",
  age : 50,
  eyeColor : "blue"
};
document.getElementById("demo").innerHTML = Object.values(person);
运行实例 »

点击 "运行实例" 按钮查看在线实例

Firefox 和 Chrome 是第一批支持 Object.values 的浏览器:

Chrome IE Firefox Safari Opera
Chrome 54 Edge 14 Firefox 47 Safari 10.1 Opera 41
2016 年 10 月 2016 年 8 月 2016 年 6 月 2017 年 3 月 2016 年 10 月

JavaScript Async 函数

等待超时

async function myDisplay() {
  let myPromise = new Promise(function(myResolve, myReject) {
    setTimeout(function() { myResolve("I love You !!"); }, 3000);
  });
  document.getElementById("demo").innerHTML = await myPromise;
}

myDisplay();
运行实例 »

点击 "运行实例" 按钮查看在线实例

Firefox 和 Chrome 是第一批支持异步 JavaScript 函数的浏览器:

Chrome IE Firefox Safari Opera
Chrome 55 Edge 15 Firefox 52 Safari 11 Opera 42
2016 年 12 月 2017 年 4 月 2017 年 3 月 2017 年 9 月 2016 年 12 月

相关

视频

RELATED VIDEOS

更多

免费

Web前端开发极速入门
初级 Web前端开发极速入门

219920次学习

收藏

免费

前端入门_HTML5
初级 前端入门_HTML5

616946次学习

收藏

免费

30分钟学会网站布局
初级 30分钟学会网站布局

238440次学习

收藏

免费

CSS视频教程-玉女心经版
初级 CSS视频教程-玉女心经版

393054次学习

收藏

免费

独孤九贱(1)_HTML5视频教程

免费

独孤九贱(6)_jQuery视频教程

免费

独孤九贱(7)_Bootstrap视频教程

免费

独孤九贱(2)_CSS视频教程
初级 独孤九贱(2)_CSS视频教程

229605次学习

收藏

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号