ES6学习笔记一

var、 let 和 const 命令

let,const用于声明变量,用来替代老语法的var关键字,与var不同的是,let、const会创建一个块级作用域(一个花括号内就是一个新的作用域)。var是没有块级作用域的。

外部的console.log(x)拿不到前面2个块级作用域声明的let。

还有就是使用let、const关键字声明的变量的for循环和var声明的不同,用var声明的for循环只会执行一次var i = 0,而后面的两个部分在每次循环的时候都会执行一遍,而使用let、const关键字声明变量的for循环,除了会创建块级作用域,let、const还会将它绑定到每个循环中,确保对上个循环结束时候的值进行重新赋值,它每一次循环都会重新声明一次而且每一次循环都会创建一个块级作用域,var声明的for循环只会声明一次不会创建块级作用域。

箭头函数

箭头函数和function关键字创建的函数区别

1.箭头函数没有arguments

2.箭头函数没有prototype属性,不能用作构造函数不能用new关键字调用

3.箭头函数没有自己的this,引用的是上下文的this

箭头函数替代了以前需要显式的声明一个变量保存this的操作,使得代码更加的简洁。

解构赋值

解构赋值可以直接使用对象的某个属性,而不需要通过属性访问的形式使用,对象解构原理我认为是通过寻找相同的属性名,然后原对象的这个属性名的值赋值给新对象对应的属性。

使用对象解构,可以给使用axios的响应结果进行解构axios默认会把真正的响应结果放在data属性中。

数组解构的一个用途是交换变量,避免以前要声明一个临时变量值存储值。

扩展运算符

扩展运算符同样也是ES6一个非常重要的语法,使用3个点(...),后面跟着一个含有iterator接口的数据结构。

如果是数组使用扩展运算符使得可以"展开"这个数组,数组是存放元素集合的一个容器,而使用扩展运算符可以将这个容器拆开。

扩展运算符还可以代替数组的concat方法

剩余运算符

剩余运算符最重要的一个特点就是替代了以前的arguments,剩余运算符可以和数组的解构赋值一起使用,但是必须放在最后一个,因为剩余运算符的原理其实是利用了数组的迭代器,它会消耗3个点后面的数组的所有迭代器。

剩余运算符和扩展运算符的区别就是,剩余运算符会收集这些集合,放到右边的数组中,扩展运算符是将右边的数组拆分成元素的集合,它们是相反的

for ... of循环

for ... of是作为ES6新增的遍历方式。

for ... of和for ... in的区别:

1.for ... of只能用在可迭代对象上,获取的是迭代器返回的value值,for ... in 可以获取所有对象的键名。

2.for ... in会遍历对象的整个原型链,性能非常差不推荐使用,而for ... of只遍历当前对象不会遍历它的原型链、

3.对于数组的遍历,for ... in会返回数组中所有可枚举的属性(包括原型链上可枚举的属性),for ... of只返回数组的下标对应的属性值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值