ES6部分新特性总结

发布时间:2019-08-09 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了ES6部分新特性总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

let 变量声明

1.不存在变量提升

//使用VAR声明
console.LOG(a);//undefined
var a = 1;
//使用let声明
console.log(b);
let b = 2; //报错

2.只在当前作用域有效

for(var i = 0;i<4;i++){}
i;//4
for(let n=0;n<4;n++){}
n;//报错

3.暂时性死区
如果同一个作用域内已经声明过变量了,
再声明会报错,let不允许重复声明,并不会像var一样覆盖原来的。

const 声明只读变量

//不可以重复声明
const n = 1;
n = 2;//报错
//const声明的常量是不可修改的
let array = [1,2];
const static = array;
array.push(3);
static ;//1,2,3
//const声明的如果是一个对象,对象本身可以改变,但指向的地址不可改变。static指向array内存的指针不可以修改,但指针指向的内存array可以修改

对象的解构复制

数组解构

ES6部分新特性总结

对象解构

let {name,age} = {name:'chan',age:23}
name //"chan"
age //23
//同样属性名赋值 xx = 'xj'
let {school:xx} = {school:'xj'}
xx //"xj" 这种方式是给xx对象school的属性值

默认赋值

let {name='chan'} ={age:1}
//name如果没有传值的时候,等于chan
//如果传值了let {name='chan'} ={name:'kc'} name=kc 
name
"chan"

//传值的情况下
let {age=30} = {age:20}
age
20

includes

查看某个字符or元素存不存在
字符串调用

let string = 'abcdefg'
// 判断h存不存在
string.includes('h') //false
// 判断a存不存在
string.includes('a') //true

数组调用
判断某一个对象是否存在数组中

let a = {name:'chan',age:10}
let b = {name:'louis',age:20}
let objArr = [a,b]
objArr.includes(a) //true
objArr.includes({name:'chan',ageL:10}) //false

Set数据结构

Set结构类似于数组,但所有成员的值都是唯一的。

const unique = new Set([1,2,3,4,4])
unique;//1,2,3,4
//生成set数据结构的对象时内部带有===检验方法
const unique = new Set([1,2,'2'])
unique;// 1,2,'2'
//添加成员
unique.add(3);
//获取长度
unique.size;//4
//Array.From可以将set结构转换为数组
let arr = Array.from(unique)
arr;//[1,2,'2',4]
//获取键值,set结构没有键,只有键值 keys(),values()用法相同
unique.keys()//返回value
//entries()返回键值和键名,键名和键值相同

class

class定义类和es5的构造函数相同,class Point 等同于 Point.prototype = {}
Point 必须由new 操作符来调用 否则会报错
也可以通过let fun = class Point{}来赋值,但是通过这样的方法并不能在外部调用到Point
不存在变量提升 与es5 function functionName 有所不同

class Point {
        //等同于ES5的构造函数,this指向实例
        constructor(x,y){
          this.x = x;
          this.y = y;
        }
        //方法之间不需要用逗号隔开
        fn(){
          console.log('x is'+this.x+',y is '+ this.y)
        }
      }
      // typeof Point 'function'
      // Point === Point.PRototype.constructor //true
      let dot = new Point(100,0);
      dot.fn()// x is 100,y is 0

脚本宝典总结

以上是脚本宝典为你收集整理的ES6部分新特性总结全部内容,希望文章能够帮你解决ES6部分新特性总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。