ES6笔记之一 let const 解构

在度娘上搜索的各路大神关于ES6的介绍讲解,自己给自己记录一下,方便以后使用查阅。

let 块级作用域

//不存在变量的声明提前
console.log(a);//err
let a=0;


{
  let a=10;
  var b=100;
}
console.log(a); //ReferenceError: a is not defined
console.log(b); //100
-------
--
//for循环{}内单独子作用域不去()中
for(let i=0;i<5;i++){
let i='aaa';
console.log(i);}
//输出5个aaa
---------
--
var a=a; //succ
let a=a; //err
//let不能重复声明
let a=0;
let a=1;
//以下正确,不同的域内  可以嵌套
{
 let a=0;
 {
  let a=1;
 }
}

const 常量

const PI=3.14159265;
PI=3.14 //err 无法修改常量
//const 不能重复声明

//const 声明时即需赋值否则报错
const AA; //err

解构

Array

let [a,b,c]=[1,2,3];
//以上等价于
let a=1;
let b=2; 
let c=3;

let [x,y]=[1,2,3];
// x=1; y=2;
let [a,[b],d]=[1,[2,3],4];
//a=1,b=2,d=4;


//等号右边如果不是数组(可遍历的结构)报错。 
let [a]=1;
let [a]=false;
let [a]= null;
let [a] ={};
//允许设置默认值
let [x,y='3']=['abc'];
//x='abc',y='3';

Object

let {a,b}={a:'name',b:'age'}
// a=name,b=age;
let {a,b}={b:'age',a:'name'}
//同上,与顺序无关,与属性名对应

String

const [a,b,c,d]='good';
//a=g;b=o;c=0;d=d;

let {length:len}='good';
//len=4;

Number Boolean

let {toString:s}=123;
s===Number.prototype.toString //true;
let {toString:s}=true;
s===Boolean.prototype.toString //true;

函数参数

function add([a,b]){
  return a+b;
}
add([3,2]);  //5

圆括号

//变量声明时不能带 以下均错
let [(a)] = [1]
let {x:{c}}={}
let ({x:c})={}
let {(x:c)}={}
let {(x):c}={}
//函数参数属于变量声明也不能带
function ab([(a)]){return a;}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值