ES6更新内容(1)

1、出现let const定义变量

那var  let  const有什么区别呢

1)由于ES5中作用域有局部作用域(函数内部)和全局作用域,ES6新增了块级作用域,即 { }存在的块级作用域,因此ES6中let只能在块级作用域内访问,不能跨越块级作用域或函数作用域访问,const是用于定义常量,其值不可随意更改,也不能跨块级作用域访问,而var可以跨块作用域访问,如下

var在if语句中定义变量a

输出

let在if语句中定义变量b

输出报错,没有发现b

 

const在if语句中定义常量c

输出报错,没有发现c

 

如果定义了一个常量,后面代码不能修改他的值 

 输出报错

 2)let  const定义的变量和常量不会出现提升

输出报错

 

用var 声明则不会

上例 尽管输出语句在前,用var定义时也会默认提前,然后执行输出,再赋值,因此输出undefined。

3)var 可以重复定义,let  const不能重复定义。

4)var定义的变量默认挂载到window对象上,let和const不会

5)let 和const存在暂时性死区问题,只要在块级作用定义了变量,就只能在后面使用,即便全局有也不能用

输出

 

 

 则报错。

 2、字符串模块

字符串利用反引号,与变量拼接利用${变量},如

let name="小明";

let age=18;

console,log(`${name}有${age}岁了`)

3、数据结构

将复杂结构中内容,解构为简单结构

1)对象

输出

 

2)数组

输出

利用其特性交换数据

输出

 

4、对象简化

如果对象中key和值的变量相同,可作如下省略

且对象中function可省略

 

 5、箭头函数

定义箭头函数:

let show=()=>{};

箭头函数和传统function区别

1)传统的function定义函数 this指向性不明确,随之使用环境的变化发生改变,而箭头函数 this指向明确 ,永远指向生产环境。

 2)传统function定义 有默认的提升功能,箭头函数没有。
 3)传统function 可以作为构造函数,箭头函数不可以。
 4)传统function 函数中具有arguments参数集合,箭头函数没有(存在rest参数)。

 箭头函数简写功能:
 1)如果箭头函数中有且只有一个参数,那么可以省略()
 2)如果箭头函数内部有且只有一行语句,并且是return语句的话 可以省略{}和return

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值