ES6新特性汇总

本文深入探讨ES6带来的各种新特性,包括let与const的使用、解构赋值、模板字符串、展开运算符、箭头函数、Array及对象新方法、属性名表达式、keys与values、对象冻结、Set数据结构、for of循环、forEach方法、类与继承、Promise异步处理及Symbol数据类型。通过具体示例,讲解了这些特性的语法和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.let  :块级作用域、没有预解析、不能重复声明同一个变量

const常量 NUM = 10 ;常量不可修改,如果是对象的话,可以修改值

2.解构赋值

eg1:obj = {data:123},可以直接将data从obj中解构出来:let {data} = obj;

eg2:let a = 0; let b = 1; 如何交换二者的值?:[a,b] = [b,a]

3.转义字符串

b="不错"

a = `今天天气${b}` //将变量直接${}差值表达式的方式,插入字符串中

4.展开运算符【...】

let arr = [1,2,3]

arr2 = [0,...arr]

arr2----- >结果为[0,1,2,3]

PS:但是这里是浅拷贝,传址问题依然存在

5.箭头函数()=>{}

①箭头函数没有this,this指向声明时所在作用域的this;

②箭头函数没有arguments,因此可以写为

fn = (...arg)=>{} ------------------------fn(1,2,3,4);

③不可以作为构造函数

6.Array相关方法

a.Array.isarray() / instandof   用来检测是否为数组;

b.Array.from()将类数组(Nodelist)转为数组

c.Array.findIndex(function(item){  //寻找下标,返回首次满足条件的下标,不存在返回-1;

           return item==" xxx "

    } )

d.Array.find()返回首次满足条件的项

7.对象方法:set/get

obj= {

n = 0;

set a{……};  //设置a会触发set,获取a会触发get

get a{……};

}

8.属性名表达式

a = {n:"哈哈哈哈"}  //n为一个str

a = {[n]:"哈哈哈哈"} //n可以是变量传入 

9.keys/values

Object.keys(obj);//可以拿到obj对象的所有key

Object.values(obj);//可以拿到obj对象的所有value

 10.let a= 10; let b ="10"; Object.is(a,b);-------false,不全等

      let a = 10-"a"; let b = 10-"b"; Object.is(a,b);-------true,因为可以检测NaN

11.对象冻结 Object.freeze(obj)  //浅冻结

之后,其他代码不可以修改或者删除obj对象中的任何属性

12.自动去重

arr = [1,1,2,2,3]

Array.from(new Set(arr));

ES6提供了 Set,类似与数组,但是自动去重

具备方法:add ,delete, has(), clear ,size = length

13.for  of  遍历每一项

arr = [1,4,5]

for(let s of arr){console.log(s)}

14.forEach

arr.forEach((item)=>{

console.log(item)//遍历arr中的每一项

})

15.类class 和类继承extends

class Person {

    constructor(name){

    this.name = name;

}

    say(inner){

        console.log(`${this.name}说:${inner}`);

    }

    static fn(){

        console.log("静态方法");

    }

}

let p = new Person("maodou");

p.say("猫咪最可爱");

Person.fn();//类的静态方法只给类自身用,动态方法给实例化对象用

//类继承也很简单
class Study extends Person {
    coding(){
        console.log("特别会写代码");
    }
}

16,promise(异步处理)

17.新的数据类型Symbol

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值