[解決済み] ES6/2015におけるヌルセーフなプロパティアクセス(および条件付き代入)。
2022-04-19 07:34:15
質問
はあるのでしょうか?
null
-のような ES6 (ES2015/JavaScript.next/Harmony) で安全なプロパティアクセス (null propagation / existence) 演算子を使用することができます。
?.
で
コーヒースクリプト
などでしょうか?それともES7で予定されているのでしょうか?
var aThing = getSomething()
...
aThing = possiblyNull?.thing
これは大体こんな感じでしょうか。
if (possiblyNull != null) aThing = possiblyNull.thing
理想的には、このソリューションでは、(たとえ
undefined
) を
aThing
もし
possiblyNull
は
null
解決方法は?
更新情報 (2022-01-13): まだ見つけている人がいるようなので、現在の状況をお知らせします。
- Optional Chainingは現在(ES2020)仕様に含まれており すべてのモダンブラウザでサポート 詳細はアーカイブされた提案書をご覧ください。 https://github.com/tc39/proposal-optional-chaining
- babel-preset-env: これがない古い環境に対応する必要がある場合。 これはおそらくあなたが望むものです https://babeljs.io/docs/en/babel-preset-env
- Babel v7 プラグイン。 https://babeljs.io/docs/en/babel-plugin-proposal-optional-chaining
更新情報 (2017-08-01): 公式プラグインを使いたい場合は、新しいトランスフォームを搭載したBabel 7のアルファビルドを試してみてください。 あなたのマイレージは変わるかもしれません
https://www.npmjs.com/package/babel-plugin-transform-optional-chaining
オリジナル :
それを実現する機能が、現在第1ステージにあります。オプショナル・チェイニングです。
https://github.com/tc39/proposal-optional-chaining
今日から使いたいなら、それを実現するBabelプラグインがあります。
関連
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
JavaScriptのクロージャの説明
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み] JavaScriptのnullとundefinedの違いは何ですか?
-
[解決済み] nullはなぜオブジェクトなのか、nullとundefinedの違いは何ですか?
-
[解決済み] 変数を使用してオブジェクトのプロパティに動的にアクセスする
-
[解決済み] Javascriptオブジェクトの最初のプロパティにアクセスする方法は?
-
[解決済み] Reactでes6クラスを使うときの「super()」と「super(props)」の違いとは?
-
[解決済み] Node.jsとES6におけるmodule.exportsとexport defaultの比較
-
[解決済み] for-ofループ内でのES6配列の要素インデックスへのアクセス
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
vue3.0プロジェクトのアーキテクチャを構築するための便利なツール
-
vueのグローバルがscss(mixin)を導入。
-
Vueのクラススタイルの使い方の詳細
-
Vueのフォームイベントのデータバインディングの説明
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
[解決済み】ERROR エラーです。スイッチのname属性が指定されていないフォームコントロールの値アクセッサがない
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された