ECMAScript6
let 语句允许您使用块作用域声明变量。
1 2 3 4 5 6 7
| var x = 10; // Here x is 10 { let x = 2; // Here x is 2 } // Here x is 10
|
const 语句允许您声明常量(具有常量值的 JavaScript 变量)。常量类似于let变量,但不能更改值。
1 2 3 4 5 6 7
| var x = 10; // Here x is 10 { const x = 2; // Here x is 2 } // Here x is 10
|
取幂运算符( ** )将第一个操作数提升到第二个操作数的幂。
1 2
| var x = 5; var z = x ** 2; // 结果是 25
|
- x ** y 的结果与 Math.pow(x,y) 相同:
1 2
| var x = 5; var z = Math.pow(x,2); // 结果是 25
|
ES6允许函数参数具有默认值。
1 2 3 4 5
| function myFunction(x, y = 10) { // y is 10 if not passed or undefined return x + y; } myFunction(5); // 将返回 15
|
find()方法返回通过测试函数的第一个数组元素的值。此例查找(返回)第一个大于 18 的元素(的值):
1 2 3 4 5 6 7 8 9 10 11
| var numbers = [4, 9, 16, 25, 29]; var first = numbers.find(myFunction);
function myFunction(value, index, array) { return value > 18; } 请注意此函数接受 3 个参数:
项目值 项目索引 数组本身
|
findIndex() 方法返回通过测试函数的第一个数组元素的索引。此例确定大于18的第一个元素的索引:
1 2 3 4 5 6
| var numbers = [4, 9, 16, 25, 29]; var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) { return value > 18; }
|
ES6将以下属性添加到Number对象:EPSILON、MIN_SAFE_INTEGER、MAX_SAFE_INTEGER
1 2 3
| var x = Number.EPSILON; var x = Number.MIN_SAFE_INTEGER; var x = Number.MAX_SAFE_INTEGER;
|
ES6为Number对象添加了2个新方法:Number.isInteger()、Number.isSafeInteger()
1 2 3 4
| Number.isInteger() 方法 如果参数是整数,则 Number.isInteger() 方法返回 true。 Number.isInteger(10); // 返回 true Number.isInteger(10.5); // 返回 false
|
1 2 3 4 5
| Number.isSafeInteger() 方法 安全整数是可以精确表示为双精度数的整数。 如果参数是安全整数,则 Number.isSafeInteger() 方法返回 true。 Number.isSafeInteger(10); // 返回 true Number.isSafeInteger(12345678901234567890); // 返回 false
|
ES6还增加了2个新的全局数字方法:isFinite()、isNaN()
1 2 3 4 5
| isFinite() 方法 如果参数为 Infinity 或 NaN,则全局 isFinite() 方法返回 false。 否则返回 true: isFinite(10/0); // 返回 false isFinite(10/1); // 返回 true
|
1 2 3
| isNaN() 方法 如果参数是 NaN,则全局 isNaN() 方法返回 true。否则返回 false: isNaN("Hello"); // 返回 true
|
箭头函数允许使用简短的语法来编写函数表达式。您不需要function关键字、return关键字以及花括号。
1 2 3 4 5 6
| // ES5 var x = function(x, y) { return x * y; } // ES6 const x = (x, y) => x * y;
|