ES6学习历程2


一、变量/常量赋值

let 声明变量

1.与ES5中的var声明变量不同,let声明变量并不会提升

示例:
在这里插入图片描述
改变声明的位置,再次执行即可打印出a的值
在这里插入图片描述
当使用var声明变量时,可见在声明之前打印b虽然输出undefined但是没有报错,说明此时b已经声明,但是没有赋值。
在这里插入图片描述

2.具有局部作用域

示例:
在这里插入图片描述
在这里插入图片描述
在作用域之外打印a时则会报错

在这里插入图片描述
使用var声明时则不会出现这一现象
在这里插入图片描述
在这里插入图片描述

3.不允许重复声明

示例:
在这里插入图片描述

在这里插入图片描述
同样var声明变量也不会出现这种情况
在这里插入图片描述
在这里插入图片描述

4.const声明变量

const与let用法基本一致,唯一的不同点在于const必须声明时直接赋值,且常量值不能再改变

示例:
在这里插入图片描述
在这里插入图片描述
示例:
在这里插入图片描述
在这里插入图片描述
示例:
在这里插入图片描述
在这里插入图片描述
如例所示,更改const声明的变量或者在声明时不赋值均会报错

二、解构(模式匹配)

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值

1.集合解构

示例:

let [a,b,c,d] = [1,2,3,4];
console.log(a,b,c,d);

在这里插入图片描述
… 拓展运算符
用在=左边的时候,有聚合的作用,将剩余元素赋值给变量,返回一个数组。

示例:

let [a,...b] = [1,2,3,4];
console.log(a,b);

在这里插入图片描述
默认值
当匹配值严格等于undefined时,默认值生效

示例:

let [a,b = 0] = [1];
console.log(a,b);

在这里插入图片描述

2.对象解构

示例:

let obj = {
    name : '张三',
    age : 18,
}
let {name,age} = obj;
console.log(name,age);

在这里插入图片描述
重命名

let obj = {
    name : '张三',
    age : 18,
}
let {name:realname,age:realage} = obj;
console.log(realname,realage);

在这里插入图片描述
嵌套解构

 let obj = { p: [ 'Hello', { o: 'World' } ] }; 
 let { p: [x, { o: y }]} = obj;
 console.log(x,y);

在这里插入图片描述

3.字符串解构

用数组进行解构 => 单个字符

let [a,b] = 'dw';
console.log(a,b);

在这里插入图片描述
用对象进行解构 => 解构出字符串的属性、原型中的方法

let {length:a,toString:b} = 'dw';
console.log(a,b);

在这里插入图片描述

三、对象

1.对象的简写

示例:

let name = '张三';
let age = 10;
let obj = {
    name,
    age,  
}
console.log(obj);

在这里插入图片描述

2.对象方法扩展

  Object.is(value1, value2);
    判断两个值是否为同一个值
  Object.assign(target, ...sources) 
    用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
  Object.setPrototypeOf(obj, prototype)
    设置一个指定的对象的原型 ( 即, 内部[[Prototype]]属性)到另一个对象或  null。
  Object.getPrototypeOf(obj) 
    返回指定对象的原型(内部[[Prototype]]属性的值)。
  Object.keys(obj)
    返回一个包含所有给定对象自身可枚举属性名称的数组
  Object.values(obj)
    返回给定对象自身可枚举值的数组。
  Object.entries(obj)
    返回给定对象自身可枚举属性的 [key, value] 数组。

四、数组

数组方法扩展

  Array.from()
    将类数组对象转成数组
    
  Array.of()
    用于创建数组,接受参数为创建数组的元素
    
  Array.prototype.find()
    迭代方法,参数是个函数,查找满足条件的元素,返回第一个满足条件的元素或者undefined
    
  Array.prototype.findIndex()
    迭代方法,参数是个函数,查找满足条件的元素的索引,返回第一个满足条件元素的索引或者-1
    
  Array.prototype.includes()
    判断数组中是否包含某个元素,返回true或者false
    
  Array.prototype.fill()
    用来填充数组,该方法改变原值
    
  Array.prototype.keys()
  Array.prototype.values()
  Array.prototype.entries()
  用于将对象转换为数组

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值