ES6
ECMAScript 6
是JavaScript
的第二个主要修订版ECMAScript 6
也称为ES6
或ECMAScript 2015
新特性
1. let
和const
关键字
let
用于声明变量,const
用于声明常量
let x = 3
x = 4
console.log(x) // 4
const num = 0
num = 1 // !error: Assignment to constant variable.(常量变量赋值报错)
- 均会在
JavaScript
中提供块作用域
var x = 10
{
let x = 2
}
console.log(x) // 10
var y = 10
{
const y = 2
}
console.log(y) // 10
2. 箭头函数(Arrow Functions)
// ES5
var x = function(x, y) {
return x * y
}
// ES6
const x = (x, y) => x * y
- 箭头函数没有自己的
this
值,它所使用的this
来自于函数作用域链
// ES6
this.nums.forEach(v => {
if (v % 5 === 0)
this.fives.push(v)
})
// ES5-方式一
var self = this
this.nums.forEach(function (v) {
if (v % 5 === 0)
self.fives.push(v)
})
// ES5-方式二
this.nums.forEach(function (v) {
if (v % 5 === 0)
this.fives.push(v)
}, this)
// ES5-方式三
this.nums.forEach(function (v) {
if (v % 5 === 0)
this.fives.push(v)
}).bind(this)
3. For/of
循环
var arr = ['a', 'b', 'c'];
arr.fourth = 'd';
for (var i in arr) {
console.log(i); // '0', '1', '2', 'fourth'
}
for (var i of arr) {
console.log(i); // 'a', 'b', 'c'
}
4. class
关键字
5. Promise
I Promise a Result!!!
Promise
对象支持两个属性:state
和result
- 当
Promise
对象处于pending
状态时,结果是undefined
。 - 当
Promise
对象处于fulfilled
状态时,结果是一个值。 - 当
Promise
对象处于rejected
状态时,结果是一个error
对象。
// Example
let myPromise = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('hello world!')
}, 3000)
})
myPromise.then(function(val) {
alert(val)
})
持续更新中。。。。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!