ES6

let 关键字

let声明的变量只在所处于的块级有效,使用let关键字声明的变量具有块级作用域,并且没有变量提升,变量具有暂时性死区特性。

const 声明常量,常量就是值(内存地址)不能变化的量。

具有块级作用域,不存在变量提升,声明常量时必须赋值,赋值后不可变。

解构赋值

1.数组解构

let [a,b,c]=[1,2];  //a=1;b=2;c为undefined

2.对象解构

let person = {name:'li',age:18};

let {name,age}=person;//name='li';age=18;

let {name:myname,age:myage}=person;//myname='li';myage=18;

剪头函数

() => {}

const fn = () => {}

函数体只有一句代码,且代码的执行结果就是返回值,可以省略大括号。

如果形参只有一个,可以省略小括号。

剪头函数不绑定this关键字,剪头函数中this,指向的是函数定义位置的上下文this。

剩余参数

剩余参数语法允许我们将一个不定数量的参数表示为一个数组。

function sum (first,...args) {}

剩余参数和解构配合使用

let students = ['li','w','z'];

let [s1,...s2] = students;

ES6的内置对象扩展

Array 的扩展方法

扩展运算符(展开语法)

扩展运算符可以将数组或者对象转换为用逗号分隔的参数序列。

let arr = [1,2,3];

...arr //1,2,3

扩展运算符可以应用于合并数组

方法一

let arr1 = [1,2,3];

let arr2 = [4,5,6];

let arr3 = [...arr1,...arr2];

方法二

arr1.push(...arr2);

将数组或可遍历对象转换为真正的数组

let oDivs = document.getElementsByTagName('div');

oDivs = [...oDivs];

构造函数方法:Array.from()

将类数组或可遍历对象转换为真正的数组

let arrayLike = {

    '0' : 'a',

    '1' : 'b',

    '2' : 'c',

    length:3

};

let arr2 = Array.from(arrayLike);//['a','b','c']

方法还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。

let newAry = Array.from(arrayLike, item=>item*2);

实例方法 find()

用于找出第一个符合条件的数组成员,如果没有找到返回undefined

let ary = [{

    id:1,

    name:'张三',

},{

    id:2,

    name:'李四'

}];

let target = art.find((item,index) => item.id == 2);

findIndex()

let arr = [1,5,10,15];

let index = arr.findIndex((value,index) => value>9);

//index为2

includes()

表示某个数组是否包含给定的值,返回布尔值。

[1,2,3].includes(2)  //true

String 扩展方法

模板字符串

Es6新增的创建字符串的方式,使用反引号定义。

let name = `张三`;

模板字符串可以解析变量

模板字符串可以换行

模板字符串中可以调用函数

实例方法

startsWith() 表示参数字符串是否在原字符串的头部,返回布尔值。

endsWith() 表示参数字符串是否存在原字符串嗯尾部,返回布尔值。

let str = 'Hello world!';

str.startsWith('Hello');  //true

str.endsWith('!');    //true

replace()

方法表示将原字符串重复n次,返回一个新字符串。

'x'.replace(3)  //'xxx'

'hello'.replace(2)  //'hellohello'

Set 数据结构

ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

Set本身是一个构造函数,用来生成Set数据结构。

const s = new Set();

Set函数可以接受一个数组作为参数,用来初始化

const set = new Set([1,2,3,4]);

add(value)  添加某个值,返回Set结构本身。

delete(value)  删除某个值,返回一个布尔值,表示删除是否成功。

has(value)  返回一个布尔值,表示该值是否为Set的成员。

clear()  清除所有成员,没有返回值。

遍历

Set 结构的实例与数组一样,也拥有forEach方法,用于对每个成员执行某种操作,没有返回值。

s.forEach(value => console.log(value));

const s5 = new Set(['a','b','c']);

s5.forEach(value =>{

    console.log(value)

});

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容