javascriptで1つのライナー矢印関数から匿名のオブジェクトを返すにはどうすればよいですか?[重複している]をクリックします。
2023-09-21 16:03:44
質問
最近、es6に移行し、私のコードの至る所で矢印関数を使用するようになりました。 リファクタリング中に、以下のコードに出会いました。
data.map(function(d) {
return {id: d.id, selected: bool};
});
上記のコードを次のように変更しました。
data.map((d) => {id: d.id, selected: bool});
しかし、私は上記のコードからエラーが発生しました。私はここで何が間違っているのか分からないのですか? 私はコードのブロックがない場合、矢印関数によって提供される暗黙の戻り値があることを知っています。
しかし、いくつかのプロパティを初期化した空のオブジェクトまたは匿名オブジェクトを返す方法がわからないのですか?
編集してください。
このようにすると、何か問題があるのでしょうか?興味本位で教えてください。
data.map((d) => new {id: d.id, selected: bool});
どのように解決するのですか?
オブジェクトのイニシャライザーを括弧で囲む。
data.map((d) => ({id: d.id, selected: bool}) );
括弧はその中の式の値には影響しませんが、括弧の中の
する
は、含まれる式の最初のトークンの曖昧さを排除するという構文上の効果があります。括弧がない場合、JavaScript パーサーは
{
トークンが意味するのは、「関数本体の開始」なのか「オブジェクトのイニシャライザーの開始」なのかです。
は常に
は前者(つまり、コードのブロック)を選択します。
したがって、括弧を導入することで混乱が解消されます。
(
が意味するのは、"ここに式が来る" だけです。
{
の中
は、quot;here comes an object initializer."としか書けません(式の途中でコードのブロックを落とすことはできません。つまり、落とそうとすると構文エラーになります。)。
関連
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトを表示するにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトにキーと値のペアを追加するにはどうすればよいですか?
-
[解決済み] setTimeout(fn, 0)が役に立つことがあるのはなぜですか?
-
[解決済み] ECMAScript 6 オブジェクトを返す矢印関数
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] JavaScript で css プロパティを使用して HTML 要素の背景色を設定する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ECMAScript 6 オブジェクトを返す矢印関数
-
[解決済み] ES6 矢印関数で return 文を使用するのはどのような場合か
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] サブドメインにまたがってlocalStorageを使用する
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。