ES6与ES5的区别

块级作用域

  • ES5之前因为if和for都没有块级作用域的概念,所以在很多时候,我们都必须借助function的作用域来解决应用外部变量的问题。
  • ES6中,加入了let,let有if和for的块级作用域。

注意事项

  • var声明变量时,作用域是整个函数;
  • let声明变量时,作用域是块级作用域(大括号内的都是一个块级,比如if和for)
  • const主要作用是将某个变量修饰为常量,不可以再次被赋值。

箭头函数

  • 箭头函数与普通函数的区别
    1)箭头函数没有this,函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
    2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
    3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
    4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。
    5)普通function的声明在变量提升中是最高的,箭头函数没有函数提升。

  • 箭头函数解决的问题
    1)简化了写法
    2)明确了this

对象字面量增强写法

  • 属性增强写法
const name = 'zlm';
const age = 18;
const height = 1.88;
//ES5 写法
const obj = {
  	name: name,
  	age: age,
	height: height
}
console.log(obj);
//ES6写法
const obj = {
  name,
  	age,
  	height
}
  • 函数的增强写法
//ES5 写法
const obj = {
    run: function() {

    },
    eat: function() {

    }
}
//ES6写法
const obj = {
    run() {

    },
    eat() {
        
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值