码迷,mamicode.com
首页 > 其他好文 > 详细

常用es6语法总结

时间:2019-08-15 18:58:30      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:空格   alert   嵌套   修改   func   json   error   name   重复   

一.let ,var,const

var没有块级作用域,定义后在当前闭包中都可以访问,如果变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改。

for (var i = 0; i < 3; i++) {
     setTimeout(function () {
         alert(i);
     }, 0);
 }

结果会打印3次3,原因是var 没有块级作用域,而let有自己的块级作用域,所以不会出现这种情况。

使用 let 定义的变量在大括号的外面是访问不到的。使用let的好处是

实现块级作用域

if(true){
    let name = ‘zfpx‘;
}
console.log(name);// ReferenceError: name is not defined

  

不会污染全局对象

if(true){
    let name = ‘zfpx‘;
}
console.log(window.name);

 结果 undefined

let 重复定义会报错,不存在变量的预解释

const可以去声明一个常量,常量一旦赋值就不能再修改了

 

这种情况是可以改的:

const names = [‘zfpx1‘];
names.push(‘zfpx2‘);
console.log(names);

不同的块级作用域可以多次定义

 

const A = "0";
{
    const A = "A";
    console.log(A)
}
{
    const A = "B";
    console.log(A)
}
console.log(A)  

 

二.解构

1 解析数组

var [name,age] = [‘zfpx‘,8]; console.log(name,age);//zfpx  8]

2.嵌套赋值

let [x, [y], z] = [1, [2.1, 2.2]];
    console.log(x, y, z);

    let [x, [y,z]] = [1, [2.1, 2.2]];
    console.log(x,y,z);

    let [json,arr,num] = [{name:‘zfpx‘},[1,2],3];
    console.log(json,arr,num);//1 2.1 undefined 1 2.1 2.2 { name: ‘zfpx‘ } [ 1, 2 ] 3

3.省略负值

let [, , x] = [1, 2, 3];
console.log(x);

4.解构对象

var obj = {name:‘zfpx‘,age:8};
//对象里的name属性的值会交给name这个变量,age的值会交给age这个变量
var {name,age} = obj;
//对象里的name属性的值会交给myname这个变量,age的值会交给myage这个变量
let {name: myname, age: myage} = obj;
console.log(name,age,myname,myage); //zfpx 8 zfpx 8 

四。字符串

模板字符串用反引号(数字1左边的那个键)包含,其中的变量用${}括起来

var name = ‘zfpx‘,age = 8;
let desc = `${name} is ${age} old!`;
console.log(desc);

//所有模板字符串的空格和换行,都是被保留的
var str = `<ul>
<li>a</li>
<li>b</li>
</ul>`;
console.log(str);

  

 

  

 

 

 

常用es6语法总结

标签:空格   alert   嵌套   修改   func   json   error   name   重复   

原文地址:https://www.cnblogs.com/smdb/p/11359673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!