ES6中的基础语法

ES6中的字符串扩展与数组扩展

indexof

传统上,JavaScript只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中

语法:str.indexof(查询的元素,从第几个元素下标查询)

//注意:如果查到不到时返回的是-1

 2>、当数组中存在空值时,indexof检测undefined返回-1,而includes会认为空值是undefined,

返回true,意思也就是说如果存在空值indexof会返回-1,而includes认为空值是undefined,所以能返回true

新增API

includes

用于判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false

语法:str.includes(查询的元素,开始查询的下标)

2>、该方法区分大小写

startsWidth

用来判断当前字符串是否是以参数给定的子字符串“开头”的,根据判断结果返回true/false

语法:str.startsWith(检查的字符串,从什么地方开始检查)

注意:该方法大小写敏感

endsWith

用来判断当前字符串是否是以参数给定的子字符串“结束”的,根据判断结果返回true/false

语法:str.endsWith(检查的字符串,在指定索引之前的所有字符串里查询)

repeat

指的是当前字符串拼接、复制几次 参数表示次数

1>、传入的参数最好是整数 整数向下取整

2>、如果传入的参数是字符串,会先将字符串转化为数值,如果不成功则NaN、空字符串

 解构赋值

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。

 

数组的解构赋值

以前,为变量赋值,只能直接指定值。

let a = 1;
let b = 2;
let c = 3;

ES6 允许写成下面这样。

let [a,b,c] = [1,2,3];//等号右边的值依次赋值给了等号左边

默认值

解构赋值允许指定默认值

//y在右侧数组中对应位置没有值,即undefined,会使用默认值
let [x,y=2]=[1] //x->1 y->2
//同上
let [x=1,y]=[,2] //x->1 y->2
//同上
let [x=1,y=2]=[] //x->1 y->2

注意,ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,只有当一个数组成员严格等于undefined,默认值才会生效。

let [x = 1] = [undefined];
x // 1

let [x = 1] = [null];
x // null

默认值可以是一个表达式,只不过这个表达式是惰性的,使用到的时候才会执行求值。

function f(){ console.log("aaaaaa"); return 1; }
let [x=f()]=[];
//aaaaaa
//x->1
原文地址:https://www.cnblogs.com/zycs/p/14053187.html