ECMAScript 6( ES6)有什么新东西(二)

2015-11-05 15:14:03 +08:00
 wilddog

作者: Lars Kappert
原文: http://www.smashingmagazine.com/2015/10/es6-whats-new-next-version-javascript/
译:王瑾南 陈万幸
野狗官网: https://www.wilddog.com/
野狗官博: https://blog.wilddog.com

昨天因为标题问题被大家吐槽了,稍微修改一下。
上一部分介绍了变量,这部分来介绍一下字符串和数组。

字符串

方法

String 原型已经有几个简单的方法,其中的大多数是借助于 indexOf()方法来实现:

'my string'.startsWith('my'); //true
'my string'.endsWith('my'); // false
'my string'.includes('str'); // true

现在添加了一个创建重复字符串的简单方法:

'my '.repeat(3); // 'my my my '

模板文本

模版文本提供一个简单方法来创建字符串和插入字符串。你可能对它的语法已经非常熟悉,使用 $ 和 花括号: ${..}。模版文本是由花括号括起来的,下面有一个示例:

let name = 'John',
   apples = 5,
   pears = 7,
   bananas = function() { return 3; 
}

console.log(`This is ${name}.`);

console.log(`He carries ${apples} apples, ${pears} pears, and ${bananas()} bananas.`);
// ES5 equivalent:console.log('He carries ' + apples + ' apples, ' + pears + ' pears, and ' + bananas() +' bananas.');

Run this code

上面的示例相比 ES5 ,仅仅是方便了字符串连接。模版文本也适用于多行字符串。空白文本也是字符串的一部分:

let x = `1...
2...
3 lines long!`; // Yay
// ES5 equivalents:var x = "1...\n" + 
"2...\n" +
"3 lines long!";

var x = "1...\n2...\n3 lines long!";

Run this code

数组

Array 对象现在有一些新的静态类方法,以及 Array 原型的新方法。

Array.from ,将一个类数组对象或可迭代对象转换成真实的数组。示例:

Run this code

在上面的例子中可以看到, items 数组有 foreach 方法,但是 itemelements 是没有的。

Array.from 有一个有趣的特点:第二个参数是可选参数 mapfunction 。这样就可以在调用时创建一个映射数组:

let navElements = document.querySelectorAll('nav li');let navTitles = Array.from(navElements, el => el.textContent);

Run this code

Array.of 相当于一个 Array 构造器,当传入一个数字参数时返回的数组会只包含此参数(即只有一个元素),结构是 Array.of 有优于 new Array() 。然而,在大多数情况下,我们更习惯于使用数组直接量。

let x = new Array(3); // [undefined, undefined, undefined]
let y = Array.of(8); // [8]
let z = [1, 2, 3]; // Array literal

最后重要的一点, Array 原型也增加了一些方法。我相信 find 方法将会受到大多数 JavaScript 开发者的欢迎。

此文为译文,如有问题请加 QQ 群 105454604 联系群主

2124 次点击
所在节点    JavaScript
1 条回复
hkongm
2015-11-06 10:12:02 +08:00
block

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/233859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX