javascript - es6 物件語法
PHP中文网
PHP中文网 2017-05-19 10:38:56
0
6
596

這句話是什麼意思

var { auth = true } = meta

感覺{}是一個對象,但裡面的格式又不太對不是應該是{ auth: true }嗎,然後又賦值meta的值?不明白是什麼意思

PHP中文网
PHP中文网

认证0级讲师

全部回覆(6)
某草草

這裡是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;
習慣沉默

解構賦值。

es6的新功能。

迷茫

外面這個是解構賦值

裡面這個是給預設值

淡淡烟草味

雷雷

某草草

用es5來寫的話, 是這樣:

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

ES6的解構賦值

{ auth = true } 等於是給auth賦了一個預設值,如果meta物件裡面auth屬性的值是undefined,就會把預設值true賦給變數auth

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板