[TypeScript] 3.7¶
TypeScript3.7のリリース内容まとめ
Optional Chaining¶
SHOULD EASY
TypeScriptのversion3系で 必ず覚えた方がいい機能。
この機能を望むGitHub Issueは 23000件 以上とのこと😱
概要¶
Optional Chainingを使うと?.によってnullやundefinedの考慮を簡略化できる。
具体的には以下のコードを..
const x = foo === null || foo === undefined ? undefined : foo.bar.baz();
このように書ける。
const x = foo?.bar.baz();
&& チェーンが不要になる¶
このように書いていたのが..
if (foo && foo.bar && foo.bar.baz) {
// ...
}
このように書ける。
if (foo?.bar?.baz) {
// ...
}
配列の場合¶
array?.[1]のように書ける。
undefined?.[1]はundefinedになる。
関数の場合¶
hoge?.()のように書ける。
undefined?.()はundefinedになる。
その他¶
以下の記事も参考に。
Nullish Coalescing¶
SHOULD EASY
??オペレータが使えるようになった。
??を使うと||ではfalseと判定されていた0, NaN, ""がtrueと判定される。
以下の2つは等価である。
const x = foo ?? bar();const x = foo !== null && foo !== undefined ? foo : bar();
もう0 ||に恐れる必要はない。
以下の記事も参考に。