suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – ES6-Objektsyntax

Was bedeutet dieser Satz?

var { auth = true } = meta

Haben Sie das Gefühl, dass es sich lohnt? Ich weiß nicht, was es bedeutet

PHP中文网PHP中文网2748 Tage vor574

Antworte allen(6)Ich werde antworten

  • 某草草

    某草草2017-05-19 10:40:56

    这里是ES6中对象解构

    //对象的解构也可以指定默认值。
    var {x = 3} = {};
    x // 3
    
    var {x, y = 5} = {x: 1};
    x // 1
    y // 5
    
    var {x:y = 3} = {};
    y // 3
    
    var {x:y = 3} = {x: 5};
    y // 5
    
    var { message: msg = 'Something went wrong' } = {};
    msg // "Something went wrong"
    

    这类问题,希望你通过 babeljs.io 官方在线编译器,便以后查看

    // 上面的代码,可以这样理解
    var auth = meta.auth === undefined ? true : meta.auth;

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:40:56

    解构赋值。

    es6的新功能。

    Antwort
    0
  • 迷茫

    迷茫2017-05-19 10:40:56

    外面这个是解构赋值

    里面这个是给默认值

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:40:56

    var meta = {
        auth: 33   // 把这个去掉你看看输出的值是什么?
    };
    
    // {auth = true}  是设置默认值。
    var { auth = true } = meta;  // meta 是一个对象, 如果auth没有, auth 等于 true
    
    console.log(auth);

    Antwort
    0
  • 某草草

    某草草2017-05-19 10:40:56

    用es5来写的话, 是这样:

    var auth = (typeof meta.auth!=='undefined')? meta.auth: true;

    Antwort
    0
  • 阿神

    阿神2017-05-19 10:40:56

    ES6的解构赋值

    { auth = true } 等于是给auth赋了一个默认值,如果meta对象里面auth属性的值是undefined,就会把默认值true赋给变量auth

    Antwort
    0
  • StornierenAntwort