现在我们来学习一下es6,它现在是一门比较火的语言但是并不是所有的浏览器都兼容E6说的全部特性,
但是我们依旧应该学习一下ES6的语法。
因为兼容性我们得学习一下Babel,它是一个广泛使用的ES6转换器,可以将ES6代码转化为ES5代码,从而在现有环境执行。
变量的声明:
let、const
let的作用域是代码块,它不允许先弹再定义 会报错
{let a=12;alert(a) //let的作用域是代码块 a=12
}alert(a); //因为let的作用域是代码块 a=undefined
alert(a); //undefinedvar a=12;alert(a);//let不允许先弹再定义 会报错let a=12
不允许重复声明变量 会报错
const声明的是一个常量,一旦被赋值后不允许修改,与let一样,没有预解析功能,会报错
const声明的变量必须有值,必须给初始值,不然会报错
{const a=12;console.log(a)}alert(a)
必须给初始值,不然会报错
for of可以循环数组,但是会出问题,循环不了json
name指的是一组 键和值 出来之后是数组
还有一种新的数据类型:Symbol()
函数箭头:
window.onload=()=>{var oDiv=document.getElementById("div");
// oDiv.onclick=()=>{
// alert(this);//箭头函数中this指向是window
// oDiv.style.background="red";
// }let show=()=>{oDiv.style.background="blue";}oDiv.onclick=show;let move=(obj="obj必须传递",{}={},options)=>{console.log(obj);};move(1);}
最后解构赋值:
//模式匹配&解构赋值 json 同理var {a=12,b,c}={b:1,c:2};console.log(a,b,c)