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
   }
}

原文地址:https://www.cnblogs.com/chw8/p/7137040.html