Boolean 값으로 변환하여 평가함
&& : 모두 true여야 true, 하나라도 false라면 false
|| : 모두 false여야 false, 하나라도 true라면 true
&&
:
truthy한 경우 설정
false인 값을 찾을 때까지 오른쪽으로 평가.
false인 값을 만나면 평가 종료, 값을 반환
(false인 값을 만나지 못해) 제일 끝까지 평가했다면 제일 끝의 값을 반환
const zero = 0; // 0은 falsy한 값
const one = 1;
const two = 2;
const result1 = one && two && zero; // zero에서 종료 및 해당 값 반환
const result2 = one && two; // two에서 종료 및 해당 값 반환
const result3 = one && zero && two; // zero에서 종료 및 해당 값 반환
console.log(result1); // 0
console.log(result2); // 2
console.log(result3); // 0
const user = {
name: 'noleunja',
email: null,
};
user.name && console.log('이름 정보가 있습니다.');
user.email && console.log('이메일 정보가 있습니다.');
// 이름 정보가 있습니다.
||
:
falsy한 경우 설정
true인 값을 찾을 때까지 오른쪽으로 평가.
true인 값을 만나면 평가 종료, 값을 반환
제일 끝까지 평가했다면 제일 끝의 값을 반환
const user = {
name: 'noleunja',
email: null,
};
user.name || console.log('이름 정보가 없습니다.');
user.email || console.log('이메일 정보가 없습니다.');
// 이메일 정보가 없습니다.