構文エラーが発生したときに私はいくつかのjavascriptを試していました。私はオブジェクトキーにメソッドから返される値を割り当てようとしていました。jsがオブジェクトのキー/値としてメソッドを許可しないのはなぜですか?
var a = new function(){
this.b = function()
{
return "c";
}
};
var myobj = {
a.b:"d" //Syntax error, unexpected '.'
};
上記のエラーが発生します。しかし、その後、Javascriptを許可します:関数と同じ両方
var n = a.b;
var myobj = {
n:"d" //no error
};
でもtypeof a.b
かかわらやtypeof n
戻りますか?
'myobj.n'は「d」を返します。 es6から、変数を '[]'に入れて変数をオブジェクトキーとして使うことができます。私はあなたがこの場合に望んでいるとは思っていませんが。 – baao
'n:" d "'の 'n'は' n'という名前のプロパティであり、 'var n = a.b;'の 'n'には何ら関係しません。 –
なぜメソッドをキーにしたいのですか?あるいは、メソッド名をキーとして意味しますか? – Shilly