内容
TypeScript、JavaScriptのオプショナルチェーンについてふんわりとしか理解していなかったのでメモとしてまとめておきたいと思います
オプショナルチェーンとは??
TypeScriptのオプショナルチェーンは、オブジェクトや配列のプロパティやメソッドが存在するかどうかを確認するための機能です。オプショナルチェーンを使用すると、undefinedやnullの値が混入している場合でも、安全にプロパティにアクセスできます。
です。
- オブジェクトの場合
以下のようなオブジェクトがあるとします。
const user = {
name: 'Alice',
address: {
street: '123 Main St',
city: 'New York',
country: 'USA'
}
};
ここで、user.age
にアクセスすると、存在しないので当然エラーが発生してしまいます。
そこで使用されるのがオプショナルチェーンです。
userの中に存在するのかチェックするのでuser?.xxx
という書き方になります。
console.logで確認してみると、
console.log(user?.age); // undefined
user.age
は存在しないのでundefined
が返ってきます。
このようにコードを簡略化でき、undefinedやnullチェックを手動で行う必要がなくなります。