ES6
概念
ES6 :ESMAScript 6,新的javascript语法标准 2015正式推出
特点:为了js更加快捷与方便
Es6中的变量声明
var
全局作用域,函数作用域,如果没有if,switch,for,while,do,else作用域,会变量提升
let
01.局部作用域,(在一对{}启用)
if(true){
let a=15;
}
alert(a)//在全局无法调用
02.不能变量提升
{
let a =11;
console.log(a); //11
}
console.log(a); //报错,a is not defined
03 在一个作用域里面不能重复声明
if(true){
let a=15;
let a=16;//不能重复调用
}
alert(a)
const
01声明变量但必须赋值
const a;
console.log(a) //报错 Missing initializer in const declaration
02值类型不允许修改
const a=15;
a=20;
console.log(a)//报错 Assignment to constant variable.
解构
数组解构
{
//例1
var arr=[1,2,3,4,5,6,7,8];
var [a,b,...rest] =arr;
console.log(a,b,rest);
//数组里内容前两个值赋值给a,b后 其他的以数组形式解析给rest
//例二
var[a,b,,c,,d,...rest]=arr;
console.log(a,b,c,d,rest);
//打印结果为 1 2 4 6 (2) [7, 8]
//“ ,, ”内容默认跳过
}
对象解构
var obj ={name:"wmq",age:"18",eye:2,leg:8,weight:120};
var{age,name,leg,...rest}=obj;
console.log(name,age,leg,rest)//rest剩余
//打印结果为
//wmq 18 8 {eye: 2, weight: 120}
字符串
01遍历
var str="yue𠮷你好啊陌生人口";
for(let i of str){
console.log(i)
// es6遍历可以遍历出来一些生僻字
}
02检测
//查找 indexof lastindexof 查找下标 找不到返回-1
// includes查询是否包含 返回值为true false
var str ="几十块的顺口溜收到了"
alert(str.includes("顺口溜"))
alert(str.indexOf("收到"))
//检测以、、开头 startWith 结尾 endWith 返回值为true false
var str ="你好啊"
alert(str.startsWith('你'))
03填充
//repeat 重复
console.log("hello word\n".repeat(50));//打印50遍
//填充:0001 1000 padStar(开头 位数,填充字符串)padEnd()
var str ="1";
console.log(str.padStart(5,"0")) //00001
// fill填充
var arr=[];
arr.length =5;
arr.fill("填充",0,5);//(填充内容,开始索引,长度)
console.log(arr)
//打印结果为:(5) ['填充', '填充', '填充', '填充', '填充']
04拼接
//字符串模板 ``定义字符串 用${}定义js 可以随意换行 随意使用符号
var s="he";
var str=`你的思考,开始觉得${s.length<3?'你好':'hi'}`;
console.log(str)