https://github.com/tc39/proposal-optional-chaining-assignment
JavaScript에 새로운 문법을 제안하는 논의가 진행 중입니다. Optional Chaining Assignment는 표현식이 `null` 또는 `undefined`인 경우에 대한 예외 처리를 보다 간편하게 돕는 문법입니다.
예를 들어, `expr1?.prop = val`는 `expr1`이 `null`이 아닌 경우에만 `expr1.prop`에 `val`을 할당하게 됩니다. `expr1`이 `null`인 경우에는 아무런 동작도 수행하지 않습니다. 이는 기존에는 `expr1 == null ? undefined : expr1.prop = val`와 같은 방식으로 처리해야 했던 것을 훨씬 간결하게 해결할 수 있게 해 줍니다.
작성자가 제안한 real-world-example 중 하나를 가져와보았습니다.
```js
if (refTrailingCommaPos) {
refTrailingCommaPos.value = trailingCommaPos;
}
```
를 아래와 같이 리팩토링할 수 있습니다.
```js
refTrailingCommaPos?.value = trailingCommaPos;
```
이 문법이 표준으로 채택되면 타입스크립트와 Babel 코드베이스에서 유용하게 사용될 것 같습니다.