這句話是什麼意思
var { auth = true } = meta
感覺{}是一個對象,但裡面的格式又不太對不是應該是{ auth: true }嗎,然後又賦值meta的值?不明白是什麼意思
{}
{ auth: true }
meta
认证0级讲师
這裡是ES6中物件解構
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
{ auth = true }
這裡是
ES6
中物件解構這類問題,希望你透過 babeljs.io 官方線上編譯器,以便以後查看
解構賦值。
es6的新功能。
外面這個是解構賦值
裡面這個是給預設值
雷雷
用es5來寫的話, 是這樣:
ES6的解構賦值
{ auth = true }
等於是給auth賦了一個預設值,如果meta物件裡面auth屬性的值是undefined,就會把預設值true賦給變數auth