??연산자

    nulish ?? 연산자

    최근 추가된 문법중에 ?? 연산자가 추가되었다. 해당 연산자에 대해서 알아보자. a ?? b 위 연산자의 결과는 아래와 같다. a가 null도 아니고 undefined도 아니면 a이고, 그 외에는 b가 오게된다. x = (a !== null && a !== undefined) ? a : b; 연산자를 보다 보니, ||이랑 같은역할을 하는 것이 아닌가? 라는 생각이 들었다. 실제로 대부분의 케이스에서는 ||과 ??이 거의 유사하게 동작하게 된다. 단, 0이 falsy이기 때문에 0이 입력되는 경우 ?? 연산자와 || 연산자간 차이가 발생하게 된다. 0 ?? b => 0 0 || b ==> b 만약 변수에 0이 할당될 수 있는 경우에 해당 연산자를 사용하면 효율적일 것이다.