牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Javascript の連想配列で key に変数を使うと展開されない件のメモ

連想記憶のkeyは変数が展開されない

{ foo: 'bar' } が取れると期待したら{ select: 'bar' }になってぎょぎょぎょってなった(´・ω・`)

var select = 'foo';
var fanc = function(obj) {
    console.log(obj);
};
fanc({select: 'bar'});
//-> { select: 'bar' }

暫定処置

var params = {};
var select = 'foo';
var fanc = function(obj) {
    console.log(obj);
};
params[select] = 'bar';
fanc(params);
//-> { foo: 'bar' }

みんなこれどうしてるんだろ?

追記 2018-12-28:ES2015 以降は変数を [] で挟んでkeyにすれば展開される

const foo = 'bar'

console.info({foo:1})
//-> { foo: 1 }

console.info({[foo]:2})
//-> { bar: 2 }