JavaScript ES6
- 上一页 JS 2009 (ES5)
- 下一页 JS 2016
ECMAScript 6 是什么?
ECMAScript 6 也称为 ES6 和 ECMAScript 2015。
一些人把它称作 JavaScript 6。
本章介绍 ES6 中的一些新特性。
- JavaScript let
- JavaScript const
- 幂 (**)
- 默认参数值
- Array.find()
- Array.findIndex()
对 ES6(ECMAScript 2015)的浏览器支持
Safari 10 和 Edge 14 是首先完全支持 ES6 的浏览器:
Chrome 58 | Edge 14 | Firefox 54 | Safari 10 | Opera 55 |
Jan 2017 | Aug 2016 | Mar 2017 | Jul 2016 | Aug 2018 |
JavaScript let
let 语句允许您使用块作用域声明变量。
实例
var x = 10; // Here x is 10 { let x = 2; // Here x is 2 } // Here x is 10
JavaScript const
const
语句允许您声明常量(具有常量值的 JavaScript 变量)。
常量类似于 let
变量,但不能更改值。
实例
var x = 10; // Here x is 10 { const x = 2; // Here x is 2 } // Here x is 10
请在我们的 JavaScript Let / Const 章节中阅读更多关于 let
和 const
的内容。
指数运算符
取幂运算符(**
)将第一个操作数提升到第二个操作数的幂。
实例
var x = 5; var z = x ** 2; // 结果是 25
x ** y
的结果与 Math.pow(x,y)
相同:
实例
var x = 5; var z = Math.pow(x,2); // 结果是 25
默认参数值
ES6
允许函数参数具有默认值。
实例
function myFunction(x, y = 10) { // y is 10 if not passed or undefined return x + y; } myFunction(5); // 将返回 15
Array.find()
find()
方法返回通过测试函数的第一个数组元素的值。
此例查找(返回)第一个大于 18 的元素(的值):
实例
var numbers = [4, 9, 16, 25, 29]; var first = numbers.find(myFunction); function myFunction(value, index, array) { return value > 18; }
Perhatikan bahwa fungsi ini menerima 3 parameter:
- Nilai item
- Indeks item
- Tubuh array
Array.findIndex()
findIndex()
方法返回通过测试函数的第一个数组元素的索引。
Contoh ini menentukan indeks pertama yang lebih besar daripada 18:
实例
var numbers = [4, 9, 16, 25, 29]; var first = numbers.findIndex(myFunction); function myFunction(value, index, array) { return value > 18; }
Perhatikan bahwa fungsi ini menerima 3 parameter:
- Nilai item
- Indeks item
- Tubuh array
Properti angka baru
ES6 menambahkan properti berikut kepada objek Number:
- EPSILON
- MIN_SAFE_INTEGER
- MAX_SAFE_INTEGER
实例
var x = Number.EPSILON;
实例
var x = Number.MIN_SAFE_INTEGER;
实例
var x = Number.MAX_SAFE_INTEGER;
Metod angka baru
ES6 menambahkan 2 metod baru kepada objek Number:
- Number.isInteger()
- Number.isSafeInteger()
Metod Number.isInteger()
Jika parameter adalah integer, maka Number.isInteger()
方法返回 true
。
实例
Number.isInteger(10); // Pulang true Number.isInteger(10.5); // Pulang false
Metod Number.isSafeInteger()
Angka yang aman dapat diwakili dengan tepat sebagai bilangan double-precision.
Jika parameter adalah angka yang aman, maka Number.isSafeInteger()
方法返回 true
。
实例
Number.isSafeInteger(10); // Pulang true Number.isSafeInteger(12345678901234567890); // Pulang false
Angka yang aman adalah semua integer dari -(253 - 1) hingga +(253 - 1).
Ini adalah yang aman: 9007199254740991. Ini adalah yang tidak aman: 9007199254740992.
Metod global baru
ES6 menambahkan 2 metod global angka baru:
- isFinite()
- isNaN()
Metod isFinite()
Jika parameter adalah Infinity
atau NaN
,则全局 isFinite()
Metod pulang false.
Jika tidak, pulang true:
实例
isFinite(10/0); // Pulang false isFinite(10/1); // Pulang true
箭头函数(Arrow Function)
箭头函数允许使用简短的语法来编写函数表达式。
您不需要 function
关键字、return
关键字以及花括号。
实例
// ES5 var x = function(x, y) { return x * y; } // ES6 const x = (x, y) => x * y;
箭头功能没有自己的 this
。它们不适合定义对象方法。
箭头功能未被提升。它们必须在使用前进行定义。
使用 const
比使用 var
更安全,因为函数表达式始终是常量值。
如果函数是单个语句,则只能省略 return
关键字和花括号。因此,保留它们可能是一个好习惯:
实例
const x = (x, y) => { return x * y };
- 上一页 JS 2009 (ES5)
- 下一页 JS 2016