ES6中let,const,解构赋值的用法

ES6全称ESMAScript,由ECMA国际标准化组织,是一门脚本语言的标准化规范。

ES6新增用于声明变量关键字let、const。

1.let

let声明变量只在所处于的块级有效,let不存在变量提升,let关键字声明的变量会由暂时性死区特性,在一个大括号中,使用let关键字声明的变量才具有块级作用域。

2.const

const声明常量,常量指值(内存地址)不变化的量 ,常量具有块级作用域,声明常量时必须复制,常量一但赋值之后,值便不能修改,如果是基本数据类型,不能更改值,如果时复杂数据类型,不能更改值的地址。

var、let、const的区别
var let

const

函数作用域 块级作用域 块级作用域
存在变量提升 不存在变量提升 不存在变量提升
赋值可更改 赋值可更改 赋值不可更改

3.解构赋值

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

示例:对数组解构

注意:如果解构不成功的话变量值为undefined

let [a,b,c] = [1,3,5]
console.log('a:',a,'b:',b,'c',c)//结果为1,3,5

示例:对对象解构

let num = {
            name:'张三',
            age:'20'
          }
let {name,age} = num;
console.log('name:',name,'age:',age)//结果为name:张三,age:20
console.log('--------------------分割线--------------------------')
let {name:myName,age:myAge} = num;
console.log(myName,myAge)//结果为张三,20

总结:解构赋值就是把数据结构分解,然后给变量赋值,如果解构不成功的话,变量跟数值不匹配的时候,变量值就为undefined,数组的解构中用中括号包裹,多个变量用逗号隔开。对象解构中用花括号(大括号)包裹,多个变量同样用逗号隔开。解构赋值的优点:方便取出对象中的属性跟方法

你可能感兴趣的:(javascript,前端,开发语言)