[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 ||
に恐れる必要はない。
以下の記事も参考に。