现在我们来学习一下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); //undefined var 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)