ES6常用的特性

ES6增加了Module方便了JS模块化问题
Promise解决异步函数的回调地狱
Class的面相对象编程等问题

一、let和const定义变量

  • let
    块级作用域内有效、不能重复声明、不存在变量提升、暂时性死区

    “暂时性死区“是什么
    如果先调用了该变量,然后才用let去声明,那么浏览器就会报错。这在语法上称为 “暂时性死区”。
    “暂时性死区”的本质
    只要一进入当前作用域,所要使用的变量就已经存在了,但不可获取(否则报错),只有等到声明的那一行代码出现,才可以获取和使用。

  • const
    声明一个只读的常量、一旦声明不能改变

    Tips:一旦声明不能改变 (这里只是针对基本类型的数据,引用类型的数据是可以改变的,所以这里的不能改变是不可改变指针), 所以对于const声明的对象和数组还是可以改变的。如果真的想将对象冻结,应该使用Object.freeze方法。

二、对象与数组的解构赋值

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。
详情参考链接:https://blog.csdn.net/yiyueqinghui/article/details/89339546

三、函数的默认参数

function log(x, y = 'World') {
  console.log(x, y);
}
log('Hello') // Hello World

//首先,默认传的参数是空对象;其次,对该对象解构再赋值默认值
function foo({x, y = 5} = {}) {
  console.log(x, y);
}
foo()    // undefined  5

四、模板字符串

用反引号 (`) 标识

let month = '9月'
let moreStr = `
    today is ${month},
    The weather is nice ! 
`

五、箭头函数

ES5中 this 的指向是可变的
ES6内箭头函数中 thi的指向是固定的

ES6内箭头函数内this 指向的固定化,并不是因为箭头函数内部有绑定 this 的机制,实际原因是箭头函数内部根本没有自己的this,它内部的this 其实就是外层代码块的 this

Tips:
(1) 箭头函数体内的 this 对象,就是定义时所在的对象,而不是使用时所在的对象。
(2) 箭头函数不可以当构造函数,即不可以使用 new 命令,因为它没有 this,否则会抛出一个错误。
(3) 箭头函数没有自己的 this,所以不能使用 call()、apply()、bind() 这些方法去改变 this 指向。
(4) 箭头函数不可以使用arguments 对象,该对象在函数体内不存在。如果要用,可以使用rest参数代替。

六、ES6中数组的扩展(spread、rest)

参考链接 :https://blog.csdn.net/yiyueqinghui/article/details/112506431

七、对象的扩展

  • 1、属性的简洁表示法
    ES6 允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值

    属性简写:

    const foo = 'bar';
    const baz = {foo};
    baz // {foo: "bar"}
    
    // 等同于
    const baz = {foo: foo};
    

    方法简写:

    const o = {
      method() {
        return "Hello!";
      }
    };
    
    // 等同于
    const o = {
      method: function() {
        return "Hello!";
      }
    };
    
  • 2、属性名表达式
    ES6 允许定义对象属性名时,用变量或表达式作为属性名,把它们放在方括号内。

ES5属性名的写法 
var obj = {};
obj.foo = true;
obj['a' + 'bc'] = 123;

ES6属性名的写法
let propKey = 'foo';
let obj2 = {
  [propKey]: true,
  ['a' + 'bc']: 123
};


八、Promise对象

九、async、await函数

十、Class,面相对象编程

参考链接: https://www.cnblogs.com/chenwenhao/p/9974558.html#_label1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值