es6学习(四,完结)es6新特性

1.关键字

1.1 let关键字:

(1)left声明的变量只在所处于的块级作用域{}有效。

只有let声明的变量才具有块级作用域,var声明的变量不具有块级作用域。

优点:防止循环变量变成全局变量。

(2)let声明的变量不存在变量提升

(3)使用let声明的变量具有暂时性死区的特性

在块级作用域中声明的变量与块级作用域进行了整体的绑定,不受块级作用域之外的变量的影响。因此上述if块级作用域中,tmp在声明之前先使用了tmp,会报错。这种特性,称为暂时性死区。

经典面试题:

输出为2   2

 执行时,要去自己对应的块级作用域中查找对应的值。因此输出为0  1

1.2 const 关键词。

作用:声明常量,常量就是值(内存地址)不能变化的量。

(1)使用const声明的关键字具有块级作用域

 (2)使用const声明常量时必须赋值

(3)常量赋值后,值(地址)不能修改。

对于基本数据类型来说,一旦赋值,不可更改;对于复杂数据类型来讲,不能重新赋值,但是可以修改内部的值(比如数组、对象)

 

 因为修改复杂数据类型中的内部值,不会修改内存地址。

 1.3 let  const  var  声明变量的区别

 在使用过程当中,如果使用的变量不需要变化,尽量使用const变量。比如函数或者数学中的常量。因为const声明的值不能变化,javascript引擎不需要实时监控值得变化,使用const关键字效率更高。

2. 解构赋值

按照一定模式,从数组中或对象中提取值,将提取出来的值赋给另外的变量。

es6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构。、

2.1 数组解构[   ]

允许按照一一对应的关系从数组中提取值,然后将值赋值给变量。

   中括号在等号的左边,代表解构。

 如果解构不成功。let[a,b,c] = [1,2]  那么输出c时会显示undefined。

 2.2  对象解构{   }

对象的解构实际是属性的匹配,变量名与属性名进行匹配。匹配成功,将对象属性的值赋值给变量。

写法一:变量名与属性名要相同

 写法二:允许变量名与属性名不同。

 

3. 箭头函数

es6中新增的定义函数的方式。箭头函数是用来简化函数定义语法的。

()=>{}   ()中放置形参,{}中放置函数体。

一般会起一个名字,然后来调用:  const fn = ()=>{};fn();

3.1箭头函数特点:

(1)函数体中只有一句代码,企鹅代码的执行结果就是返回值,可以省略大括号。

 (2)如果形参只有一个,可以省略小括号

 (3)箭头函数不绑定this关键字,箭头函数没有自己的this关键字。指向的是函数定义位置的this

(4)箭头函数中,没有arguments

 3.2  面试题

   因为obj不能产生作用域。因此当前是全局作用域,全局作用域中没有age变量,因此输出为undefined

 4. 剩余参数

4.1 什么是剩余参数

 first接受第一个值,...args表示args接受剩余的参数值。

4. 2. 剩余参数和解构配合使用

 5. 扩展运算符

5.1 什么是扩展运算符

 

 输出没有逗号,是因为逗号被console.log当成了参数分隔符,所以输出没有逗号。

5.2 扩展运算符的应用:

(1)合并数组

 (2)将伪数组转变为真正的数组。

 

 

 转化为真正的数组后,就可以用数组的一些方法,比如push等。

6. Array的扩展方法:

6.1  构造函数方法:Array.from()

 上面的arrayLike是一个伪数组,属性名必须是0.1.2.。。还有一个length属性。

 6.2 实例方法:find()

接受的参数为一个函数。find方法会循环数组,同时每次循环时会调用这个方法,将值和索引传递过去.

 6.3 实例方法:findIndex()

 6.4 实例方法:includes()方法

 在es6之前,检验数组中是否包含某个元素,使用的是inexof方法。

7. String的扩展方法

7.1 模板字符串

 

特点(1)模板字符串可以解析变量

 

 特点(2)模板字符串可以换行

 特点(3)模板字符串中可以调用函数

 7.2 startsWith()和endsWith()

 7.3 repeat()方法

 8. Set数据结构

es6提供了新的数据结构Set。类似于数组,但是成员的值都是唯一的,没有重复的值。可以用来存储  用户搜索的历史关键字。

 

 (1)数组去重

 (2)数组遍历

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值