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  
  • 相关阅读:
    角学习教程
    用AngularJS指令扩展HTML
    MVC 6动态导航菜单从数据库
    从Angular5和ASP开始。网络核心
    .NET中的音乐符号
    在Blazor的音乐符号-第二部分
    ASP。NET Core 2.1:集成VMD.RESTApiResponseWrapper。REST API应用程序的核心
    AsyncHttpClient
    Mina
    Volley
  • 原文地址:https://www.cnblogs.com/jewave/p/6238604.html
Copyright © 2011-2022 走看看