es6
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6相关的知识,希望对你有一定的参考价值。
1.es6强制开启严格模式
2.let不能重复声明变量
3.const声明的常量不能修改
4.const声明时候,对象可以改变,指针不行
5.解构赋值分为数组解构赋值,函数参数解构赋值,对象解构赋值
(a)数组解构赋值:
{
let a,b,rest;
[a,b,...rest]=[1,2,3,4,5,6];
console.log(a,b,rest);
}
...截取3456
(b)对象解构赋值:
{
let a,b;
({a,b}={a:1,b:2})
console.log(a,b);
}
解构赋值特别适合变量交换(区别于es5还需要一个中间量),如下
{
let a =1;
let b =2;
[a,b]=[b,a];
console.log(a,b);
}
(c)函数解构赋值:
{
function f(){
return [1,2,3,4,5]
}
let a,b,c;
[a,,,b]=f();
console.log(a,b);
}
可以随心所欲的取自己想取的值
(d)对象解构赋值
{
let a,b;
({a,b}={a:1,b:2})
console.log(a,b);
}
{
let o ={p:42,q:true};
let {p,q}=o;
console.log(p,q);
}
对象解构赋值的左侧是对象形式,右侧也是一个对象形式
正则方法拓展:
正则新增的特性:u修饰符,y修饰符,s修饰符
flags是es6新增的获取正则修饰符的属性
新增了sticky属性,判断有没有开始带y的修饰符,开启了就是true.
都是全局匹配,但是g修饰符中间任何位置匹配上都算。
y修饰符必须从第一个开始
u修饰符——处理大于两个字节的字符
字符串扩展:
Unicode表示法、遍历接口、模板字符串
判断字符串是否包含
{
let str ="string";
console.log("includes",str.includes("r"));//true
console.log("includes",str.includes("c"));//false
判断字符串以某些字符起始/结尾
console.log("start",str.startsWith("str"));
console.log("end",str.endsWith("ng"));
}
{
let str="abc";
console.log(str.repeat(2));
字符串的复制功能
}
模板字符串
{
let name="list";
let info="my love";
let m =`i am ${name},${info}`;
console.log(m);
}
//标签模板
//作用1 过滤字符串 防止xss攻击
//作用2 处理多语言转换
raw 对所有的斜杠进行了转义 保证了斜杠不生效
{
console.log(String.raw`Hi\n${1+2}`); //Hi\n3
console.log(`Hi\n${1+2}`); //hi
//3
}
以上是关于es6的主要内容,如果未能解决你的问题,请参考以下文章