[解決済み] 配列や関数でオプショナルチェーンを使用するには?
2022-05-16 14:24:45
質問
オブジェクトの代わりに配列でオプショナルチェーンを使おうとしていますが、やり方がよくわかりません。
私がやろうとしていることは次のとおりです。
myArray.filter(x => x.testKey === myTestKey)?[0]
.
また、関数で同様のことを試しています。
let x = {a: () => {}, b: null}
console.log(x?b());
しかし、このようにエラーが出てしまうので、配列や関数で使うにはどうしたらいいのでしょうか。
どうすれば解決するのでしょうか?
をつける必要があります。
.
の後に
?
を追加することで、任意の連鎖を使用することができます。
myArray.filter(x => x.testKey === myTestKey)?.[0]
を使うだけで
?
だけでは、コンパイラは条件演算子を使おうとしていると判断してしまいます。
:
が見えないのでエラーになる)。
オプショナルチェイニングはTypeScriptだけのものではない - 完成された提案である をプレーンなJavaScriptで もそうです。
上記のようなブラケット記法で使用できますが、ドット記法のプロパティアクセスでも使用できます。
const obj = {
prop2: {
nested2: 'val2'
}
};
console.log(
obj.prop1?.nested1,
obj.prop2?.nested2
);
そして関数呼び出しで
const obj = {
fn2: () => console.log('fn2 running')
};
obj.fn1?.();
obj.fn2?.();
関連
-
[解決済み】(Google Map API) Geocodeは以下の理由で成功しませんでした。REQUEST_DENIED
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] オブジェクトが配列であるかどうかを確認するにはどうすればよいですか?[重複]。
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] コールバック内で正しい `this` にアクセスする方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
WeChatアプレット用ユニアプリによるグローバルシェアリング
-
vue ディレクティブ v-html と v-text
-
vueの補間表現とv-textディレクティブの違いについて
-
Vueの「データを聴く」原則を解説
-
[解決済み] テスト
-
[解決済み】TypeError: Router.use() はミドルウェアの関数を要求しているが、Object を取得した。
-
[解決済み】 Uncaught TypeError : undefined のプロパティ 'replace' を読み取れない In Grid
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法
-
jq は html ページとデータを動的に分割する。