1. 널 병합 연산자 nullish coalescing operator ??
왼쪽 피연산자가
const foo = null ?? 'default string';
console.log(foo); //"default string"
참고) 논리 연산자 ||
왼쪽 피연산자가
2. 정규표현식
문제는 '숫자알파벳'은 항상 있는 그룹이므로 연속하는 두 문자가 숫자 + 문자 구성이면 숫자를 추출하도록 했었는데 이때 문제가 있었다. 만약 숫자가 두자리라면 연속하는 두 문자로는 진짜 숫자를 추출할 수가 없었다. 그래서 결국 정규표현식을 사용했어야했음.
'숫자알파벳*#'으로 구성된 문자열을 아래 정규표현식으로 분리를 할 수 있다.
const regex = /(\d+)([SDT])([*#]?)/g;
let matches;
while (matches = regex.exec(dartResult)) {
let [_, score, bonus, option] = matches;
}
심지어 구조할당을 할 수 있었다..!