ES6入门基础

一、Let和Const
let声明变量,可变

const定义常量(实际指的是变量和的内存地址),不可变

只能在其声明或定义的代码块内有效

注:若区块中存在let或者const命令,则这个区块对这些变量和常量在一开始就行成封闭作用域,只要在声明之前使用就会报错(可能会出现暂时性死区)

不能重复声明,否则报错

(一)块级作用域

块级作用域可以任意嵌套

外层作用域不能访问内层作用域的变量

内层作用域可以定义外层作用域的变量

函数中的块级作用域
es6中在块级作用域中可以声明函数

函数声明的语句和let的行为类似,在块级作用域外不能访问

函数声明也会提到块级作用域的头部

(二)ES6声明变量的6种方式

  1. var
  2. function
  3. let
  4. const
  5. import
  6. class

按照一定模式从数组和对象中提取值,然后赋值给变量

如果解构不成功,则变量的值为undefined

不完全解构:等号左边的模式值匹配一部分的等号右边的数组,仍然可以解构成功

解构赋值允指定默认值

默认值可以引起解构的其他变量,但是该变量必须已经声明

(一)对象的解构赋值
数组的元素是按照次序排列的,变量的取值是按照他的位置决定的,而对象没有次序,变量必须与属性同名才能取到正确的值

对象的解构也可以指定默认值,默认值生效的条件是,对象的属性严格的等于undefined

如果解构失败,变量的值就等于undefined

如果解构的模式是嵌套的对象,而且子对象所在的父属性不存在,则会报错

不会复制继承自原对象的属性

(二)字符串的解构赋值

字符串解构赋值时字符串被转换成了一个类似于数组的对象(类似于数组的对象还有一个length属性,也可对其赋值)

三)数值和布尔的解构赋值

解构赋值时,如果等号右边是数值或者布尔值,则会先转换成为对象,在进行赋值

解构的规则:只要等号的右边不是对象或者数组,都会先将其转换成对象(注:undefined和null无法转换成对象,对其进行赋值时都会报错)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值