ES6的新特性
ES6是javascript的下一代标准,虽然目前不是所以的浏览器都兼容ES6,但现在越来越多的程序员开始使用ES6了。
let只对块级有作用域。
{
var b=1;
alert(b) //1
}
alert(b) //1
{
let b=1;
alert(b) //1
}
alert(b)//报错
const用来声明常量,一旦声明值就不会改变,否则会报错。
const a=1;
a=2;
alert(a)//报错
map-for-of 新增的new Map()
var map=new Map();
console.log(map); //Map {} 数组
map.set('a','apple');
map.set('b','banana'); //Map {"a" => "apple", "b" => "banana"} set添加
//map.delete('a'); //删除a项
console.log(map.size); //2 Map 的长度
console.log(map.get('b')); //得到b项
for(let name of map){ //数组格式 ["a", "apple"] ["b", "banana"]
console.log(name);
}
//模式匹配
var [a=12,[b,c],d]=[a,[2,3],4]; //默认值
console.log(a,b,c,d);
var str='to';
console.log(`welcome ${str} china`) //字符串模板
//includes()是否包含,返回true/false;区分大小写
let str1='JYEDU';
console.log(str1.includes('ED'));//检测字符串中是否包含
//startsWith()开头是否包含,返回true/false;区分大小写
console.log(str1.startsWith('J'));
//endsWith()结尾是否包含,返回true/false;区分大小写
console.log(str1.endsWith('U'));//false;
//repeat()重复赋值
var str2='asd';
var str3=str2.repeat(3);
console.log(str3);
//arr新的方法
var arr1=[1,2,3,];
arr1.pop();//把最后面的删掉;
var arr2=Array.from(arr1);
console.log(arr2);
var arr2=[...arr1];
console.log(arr2);
Symbol新增数据类型
var Os=new Symbol();
console.log(typeof Os)
= > 箭头函数
var oDiv=document.getElementById('div');
oDiv.onclick= () =>{
oDiv.style.background="red" //这里的oDiv不再是this,是相对document里的oDiv
}
}