[팁] JavaScript 의 null 병합연산자
플래토
0
9281
0
0
2020.02.09 23:49
자바스트립트에서 Null을 체크하기위한 방법중에
if (변수) {}
와 같이 사용하는 방법이 있다
이렇게 사용하는것도 좋지만
새로버전업된 크롬 80 버전부터 지원하는 스크립트중에서
안드로이드/iOS는 지원하는 내용이다.
변수가 null일때 대입하지 않고 다른값으로 대치해서 대입하기위해 문장이 길어진다.
이때 사용하는 병합연산자 ?? 가 있다.
널 병합 연산자 (
??
) 는 왼쪽 피연산자가
null
또는
undefined
일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자이다.
논리 연산자 OR (
||
)와 달리, 왼쪽 피연산자가
null
또는
undefined
가 아닌 falsy 값이면 반환된다. 즉, 만약 다른 변수 foo에게 기본 값을 제공하기 위해
||
을 사용 경우, falsy 값(
''
또는
0
)을 사용하는 것을 고려했다면 예기치 않는 동작이 발생할 수 있다. 더 많은 예제는 아래를 보자.
const foo = null ?? 'default string'; console.log(foo); // expected output: "default string" const baz = 0 ?? 42; console.log(baz); // expected output: 0
위 예재는 Firefox, Chrome80, Mobile Chrome, 안드로이드 웹뷰에서만 현재(글 작성시점) 지원하고 있다.