zoukankan      html  css  js  c++  java
  • (3)ES6解构赋值-对象篇

    对象的解构赋值(可以不按顺序,但是key必须一样否则为undefined)

    //demo1
    var {name,age} = { name: "Jewave", age:26 };
    console.log(name);  //'jewave'
    console.log(age);  //26
    
    //demo2
    var {id,name,age} = { name: "Jewave", age:26,id:007 };
    console.log(name);  //'jewave'
    console.log(age);  //26
    console.log(id)   //7
    
    //demo3
    var { id: personId, name: personName, age: personAge } = { name: "Jewave", age:26,id:007 };
    console.log(personId); //7
    console.log(personName); //'jewave'
    console.log(personAge); //26
    
    //demo4
    let object = { first: 'Hello', last: 'World' };
    let { first: firstName, last: lastName } = object;
    console.log(firstName); //Hello
    console.log(lastName); //World

    对象解构默认值的条件(对象属性值严格等于undefined,也就是未定义)

    //demo1
    var { x = 3 } = {};
    console.log(x); //3
    
    //demo2
    var { x, y = 5 } = { x: 1 };
    console.log(x); //1
    console.log(y); //5
    
    //demo3
    var { message: msg = "You Are A Person!" } = {};
    consle.log(msg); //"You Are A Person!"
    
    //demo4
    var { x = 3 } = { x: undefined };
    console.log(x); //3
    
    //demo5
    var { y = 3 } = { y: null };
    console.log(y);//null

    已声明变量的解构赋值

    var x;
    {x} = { x: 1 }; // Uncaught SyntaxError: Unexpected token =
    为啥报错,因为{x}被理解成代码块而不是对象所以不能进行解构,
    这时候我们用一个括号将整体括起来就可以。
    
    var x;
    ({x} = { x: 1 });
    console.log(x); //1

    现有对象的方法

    console.log( Math.sin(Math.PI/6) ); //0.49999999999999994
    
    //简化版的写法可读性更棒
    let { sin, cos, tan, cot, PI } = Math;
    console.log( PI ); //3.141592653589793
    console.log( sin(PI/6) ); //0.49999999999999994  
  • 相关阅读:
    执迷不悟
    splunk设置索引周期和索引大小
    下载地址sqlserver2008r2
    蓝牙
    1、IdentityServer4
    翻译名义集
    sql 字符取数字
    Aerial Images Dataset 航空图像数据集 收集
    基于VGG16模型对猫狗分类任务进行迁移学习
    Apollo配置中心
  • 原文地址:https://www.cnblogs.com/jewave/p/6238604.html
Copyright © 2011-2022 走看看