개발자

Javascript에서 || 와 ?? 가 뭔가요?

2023년 01월 19일조회 352

제목 그대로입니다. 자바 스크립트에서 || 나 ?? 또는 ||= ??= 이런 코드를 몇번 봤는데 뭔지 모르겠더라구요. 어떻게 검색해야 나오는지도 감이 안잡혀서 여기다가 질문 올립니다! 뭔가 용어가 따로 있을것 같은데, 용어도 알려주시면 감사하겠습니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 3

김대현님의 프로필 사진

|| 는 Logical OR입니다. 우리말로 굳이 적자면, 논리합 연산자입니다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR ??는 nullish coalescing operator입니다. 우리말로는 모르겠네요. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing 자바스크립트 스펙은 ECMAScript 스펙문서가 본진이겠으나, 이거저거 참고해서 찾아보기에는 MDN사이트가 제일 좋은 것 같습니다.

문석기님의 프로필 사진

제일 좋은건 공식문서 사이트를 가서 쭉 읽어보시는걸 추천드립니다. 간단하게 설명드리면. 1번 const x = a || b a가 true면 a, a가 false면 b false 로 판단하는 경우는 null; / NaN; / 0; / 빈 문자열( ""또는 ''또는 ``); / undefined. 따라서 const x = 0 || undefined; // 0은 false 기 때문에 undefined으로 저장됩니다. 보통 많이 쓰는 상황인 조건문으로 쓰게 되면 a || b a,b 둘중에 하나라도 true면 true / a,b 모두 false면 fasle 입니다. 2번 const y = a ?? b a가 null, undefined 이면 b 따라서 const y = 0 ?? "test" // 0은 null, undefined 이 아니기때문에 0으로 저장됩니다.

윤석현님의 프로필 사진

||와 &&는 각각 단축평가 논리합, 단축평가 논리곱 연산자 입니다. &과 &&의 차이는, &는 두 항을 모두 평가하는 반면 &&는 좌항이 false일 때 우항을 평가하지 않고 false 를 리턴합니다. ??는 null 병합 연산자 입니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!