[解決済み] JavaScriptのオブジェクトリテラルで変数をキーとして使用するには?
2022-03-18 20:25:56
質問
なぜ、次のように動作するのでしょうか?
<something>.stop().animate(
{ 'top' : 10 }, 10
);
一方、これはうまくいきません。
var thetop = 'top';
<something>.stop().animate(
{ thetop : 10 }, 10
);
さらにわかりやすくするために 今のところ、CSSプロパティを変数としてanimate関数に渡すことができません。
どうすればいい?
{ thetop : 10 }
は有効なオブジェクト・リテラルです。 このコードでは、オブジェクトを作成します。
thetop
で、値が10である。 以下はどちらも同じです。
obj = { thetop : 10 };
obj = { "thetop" : 10 };
ES5以前では、オブジェクトリテラル内のプロパティ名として変数を使用することはできません。 唯一の選択肢は、以下のようになります。
var thetop = "top";
// create the object literal
var aniArgs = {};
// Assign the variable property name with a value of 10
aniArgs[thetop] = 10;
// Pass the resulting object to the animate method
<something>.stop().animate(
aniArgs, 10
);
ES6 定義する ComputedPropertyName をオブジェクトリテラルの文法の一部として使用することで、このようなコードを書くことができます。
var thetop = "top",
obj = { [thetop]: 10 };
console.log(obj.top); // -> 10
この新しい構文は、各主要ブラウザの最新版で使用できます。
関連
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
[解決済み】React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] JavaScriptのオブジェクトにキーと値のペアを追加するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
fetch ネットワークリクエストラッパーの説明例
-
WeChatアプレット用ユニアプリによるグローバルシェアリング
-
JavaScriptのクロージャの説明
-
vueディレクティブv-bindの使用と注意点
-
vueが定義するプライベートフィルタと基本的な使い方
-
Vueのクラススタイルの使い方の詳細
-
[解決済み】Node.js Error: Cannot find module express
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法
-
[解決済み] 動的なキーを持つオブジェクトの作成 [重複]。
-
[解決済み】JavaScript 変数でオブジェクトのキーを設定する【重複】。