ES6的解构赋值详解

php中世界最好的语言
풀어 주다: 2018-05-19 15:40:48
원래의
1706명이 탐색했습니다.

这次给大家带来ES6的解构赋值详解,使用ES6的解构赋值注意事项有哪些,下面就是实战案例,一起来看一下。

 @1数组的解构赋值;

let [a,b,c]=[1,2,3];
console.log(a,b,c)            //1 2 3
----------------------------------------------------------------
let [a=true]=[];
console.log(a)                //a=true;
----------------------------------------------------------------
let[a=true]=[undefined];
let[b=true]=[null]
console.log(a,b)             //a=true,b=null
로그인 후 복사

其实理解undefined与null的区别很简单:虽然 undefined==null;

但是还是可区分的 参照犀牛书说 null 是一个 空对象指针

typeof null  ==>object;而undefined可以认为在下面两种情况会出现;
로그인 후 복사

1.访问数组不存在的项;

2.未定义的变量var 方式;

所以:以下两种等价;

let[a=true]=[undefined];
let[a=true]=[ ];
로그인 후 복사

就不难理解为什么了;

@2对象的解构赋值;

与数组不同,对象的解构赋值是根据键而不是根据索引;

let {foo,bar}={bar:"liuhf",foo:true};    //跟键的顺序没有关系;
로그인 후 복사

  @3字符串的解构赋值;

const [a,b,c,d,e,f]="liuhee";
console.log(a,b,c,d,e,f);        // l i u h e e
로그인 후 복사

  不管哪一种解构赋值,必须左右对应;

<下面是对象/数组的函数解构赋值:再次验证了 ...拓展运算符取的是"值"而已>

let json = {
        a: '对',
        b: '象'
    }
    //对象的函数解构;
function fun({ a, b = 'jspang' }) {
    console.log(a, b);
}
fun(json);
//数组的函数解构;
let arr = ["liu", "hai"]
function fun1([a, b]) {
    console.log(a, b);
}
fun1(arr);
console.log("------------");
//或者;
function fun2(a, b) {
    console.log(a, b);
}
fun2(...arr);
로그인 후 복사

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:

webpack3.x的entry,output,module解析

Vue2 tab切换选项卡的方法

基础的JavaScript知识总结(十一)对象,包装类

위 내용은 ES6的解构赋值详解의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!