TypeSciprtのオプショナルチェーンをメモっ!
2022年1月12日
Optional Chaining
rubyで書くと user&.id
ですね。
(userがnilでなければidを呼び、userがnilの場合はnilが返るやつ)
で、Typescriptで書くとこんな感じ
const id = user?.id;
ですね。
(userがnull / undefinedの場合でもエラーにならない)
これをオプショナルチェーンを使わずに書くと
const id = user && user.id;
でしょうか。
Non-null assertion operator
Typescriptのコードを呼んでいる時に user!.id
を見つけたのでついでに。
こっちの方が user && user.id
に近い気がしますが、userが絶対に入っている状態を user!で書くことができます。
スプレッド構文
スプレッド構文(spread syntax)はチェーンとは関係ないですがググりにくい(いつも名前を忘れる)ので、ついでに。
...users
は外側の括弧がないのと同じ状態になります。
const users = [1,2,3]; const users2 = [0, ...users]; // users2 = [0,1,2,3];
何かあれば追記するかも?