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'

posted @ 2017-12-30 13:32  风说云走  阅读(84)  评论(0)    收藏  举报