参照が[[Nullish (JavaScript)|Nullish]]の場合にエラーではなく`undefined`を返す演算子。
以下2つは等価である。
```typescript
const x = foo === null || foo === undefined ? undefined : foo.bar.baz();
```
```typescript
const x = foo?.bar.baz();
```
`&&`チェーンが不要になる。
```typescript
if (foo && foo.bar && foo.bar.baz) {
// ...
}
```
↓
```typescript
if (foo?.bar?.baz) {
// ...
}
```
- 配列も`array?.[1]`のように書ける
- 関数も`hoge?.()`のように書ける
- `undefined?.()`は`undefined`になる