オブジェクトの分割代入(Destructuring assignment)をするときに、変数名を自分の好きな名前に変更したいと思って調べたら、方法があった。
MDN
異なる名前を持つ変数への代入
var o = {p: 42, q: true}; var {p: foo, q: bar} = o; console.log(foo); // 42 console.log(bar); // true
var { キー名 } = オブジェクト
の形式で分割代入するところをvar { キー名: 任意名 } = オブジェクト
とすることでOK。
このMDNの例だと
var { p } = o
を
var { p: foo } = o
としてpをfooに変更している。
なんだか慣れないとオブジェクトのkey: valueの構文もしくは型指定に見えてきてしまうので早く慣れたい。
ESモジュールのimport構文でimport { p as foo } from 'hoge'
という構文があるから、as
を使ったこのノリでできないのがなんでなんだろうなーという気がしている。深く調べてないのでECMAの仕様決定までの流れをいつか調べたい。