web高级学习8--ES6
ECMAscript6.0 复杂/大型应用程序/企业级开发
1.let var的区别
作用域的区别,let块级作用域,var为函数体作用域
2.变量提升
let不会存在变量提升
var会存在变量提升
3.暂时性死区
let不允许重复声明
let不存在暂时性死区
4.const 声明一个只读的常量,常量的值 不能改变
用来干什么的,比如声明一个π,,嘿嘿
const str;//只声明不赋值,也不可以,必须要赋值 const str="123";
const obj={};//定义的对象啊,什么的,里面的值是可以变化的,但是对象本身就是对象,不能变成数组
obj.name='12';
obj.action=function(){
return this.name;
}
不能改变的数值:比如说字符串、数值、布尔、数组、对象等
5.从数组和对象中提取值,对变量进行赋值,称为解构
var a=1,b=2,c=3; var a=1; var b=2; var b=3; let x=1; let y=2; let z=3; let [x,y,z]=[1,2,3];//模式匹配 按位置进行匹配 console.log(z);//3 这样取值 let [x,y,z]=[1,[1,2],3];//模式匹配,数组 let [x,y,z]=[1,{'x':123},3]
function() f(){ return 'aaa'; } let[x=f()]=[]; console.log(x);//函数 对象的解构 let {x,y}={y:'111',x:'23f'};//按名字匹配
let{x:qq,y}={y:'111',x:'222'}
console.log(x);打印出来会显示'x is not defined'

浙公网安备 33010602011771号