# オプショナルチェーン

前章でのオプショナルプロパティや値がnullの場合に、そのプロパティからメソッドを呼び出そうとするとエラーになります。

例えば、前章で定義した`meeting1`の`url`にて`length`メソッドを呼び出そうとすると、urlが定義されていないので、エラーとなります。

```typescript
console.log(meeting1.url.length); // error
```

そのため、以下のようにurlが存在するかどうか、チェックする必要があります。

```typescript
if (meeting1.url !== null && meeting1.url !== undefined) {
  console.log(meeting1.url.length);
}
```

上記のような記述を**オプショナルチェーン**を使用することで、簡略化することができます。**オプショナルチェーン**は、その値が存在しない場合に、`?.`をつけてメソッドを呼び出すことで、エラーを出さず`undefined`が返却されます。

<pre class="language-typescript" data-title="index.ts◎"><code class="lang-typescript">...
  url: "https://sample.com",
};

<strong>console.log(meeting1.url?.length); // undefined
</strong></code></pre>
