开发工具:Subline Text3 记事本,安装了Node.js进行编译。
一、ES6对字符串的扩展
//该方法可以识别大于0xFFFF的字符
var x = String.fromCodePoint(0x20BB1);
var x3 = x.repeat(3) //重复三次
for (let i of x3) {
console.log(i) //遍历字符串输出
}
输出结果:
另外还有个在字符串的首与尾插入字符串的功能:
var x = String.fromCodePoint(0x20BB1);
//在前面插入字符串,最大长度为4
console.log(x.padStart(4, String.fromCodePoint(0x20BB2)))
//在后面插入字符串,最打长度为4
console.log(x.padEnd(4, String.fromCodePoint(0x20BB2)))
这里要设置最大长度为4,为什么不是2?因为这个这个特殊的字要占用两个字符。
输出结果:
二、ES6对数值的扩展
三、ES6对数组的扩展
声明数组,对它进行克隆并与之合并:
var arr1 = ['a', 1];
const a1 = [...arr1];//声明一个a1,克隆arr1
console.log(a1);
console.log([...arr1, a1];//将它们进行合并
输出结果:
[ 'a', 1 ]
[ 'a', 1, [ 'a', 1 ] ]
[Finished in 0.3s]
于是我想试试,二维数组是否也能使用该语法呢。
var arr = [
[1, 2],
['a', 'b']
];
const a2 = [...arr];
console.log([...arr, ...a2]);
输出结果:
[ [ 1, 2 ], [ 'a', 'b' ], [ 1, 2 ], [ 'a', 'b' ] ]
[Finished in 0.6s]
完全支持克隆与合并的语法!
var x = String.fromCodePoint(0x20BB1);
var x3 = x.repeat(3) //重复三次
console.log(Array.from(x3)); //字符串拆分成数组
console.log(Array.of(1, 2, 3)) //将数值组合成数组
console.log([1, 2, 3, 4, 5].copyWithin(0, 3)) //数组内更替
上面代码表示将从 3 号位直到数组结束的成员(4 和 5),复制到从 0 号位开始的位置,结果覆盖了原来的 1 和 2。
输出结果: