連想記憶の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 }