2. And(&&) 와 OR(||)

SUN·2022년 8월 25일

모던자바스크립트

목록 보기
2/8

2) And(&&) 와 OR(||)

1) And(&&) 방식

왼쪽 값이 truthy하면 오른쪽 값을 리턴한다.

console.log(true && true) //true, 왼쪽이 true이라서 오른쪽 true 출력
console.log(true && false) // false, 왼쪽이 true라서 오른쪽 false를 출력

왼쪽 값이 falsy하면 왼쪽 값을 리턴한다.

console.log(false && true) //false, 왼쪽이 false라서 왼쪽 false를 출력
console.log(false && false) // false, 왼쪽이 false라서 왼쪽 false를 출력

2) OR(||) 방식

왼쪽 값이 truthy하면 왼쪽 값을 리턴한다.

console.log(true || true) //true, 왼쪽이 true이라서 왼쪽 true 출력
console.log(true || false) // true, 왼쪽이 true라서 왼쪽 true 출력

왼쪽 값이 falsy하면 오른쪽 값을 리턴한다.

console.log(false || true) //true, 왼쪽이 false라서 오른쪽 true를 출력
console.log(false || false) // false, 왼쪽이 false라서 오른쪽 false를 출력

3) 정리

console.log(null && undefined); //null, 왼쪽 null값은 falsy라서 and 연산자에서 왼쪽을 리턴한다.
console.log(0 || true); //true, 0은 falsy이고 or 연산자에서 오른쪽 값인 true를 리턴한다.
console.log('0' && NaN); //NaN, 문지열은 truthy이고 and 연산자에서 오른쪽 값을 리턴한다.
console.log({} || 123); // {}, 빈객체는 truthy이고 or 연산자에서 그대로 오른쪽을 리턴한다.
-----
function print(value) {
	const message = value || 'codeit'
    console.log(message)
}

print();
print('JS');

print 함수의 value 값이 공백일때 왼쪽 값이 falsy값이므로 오른쪽 codeit을 리턴한다.
print 함수의 value 값이 js라는 문자열이 들어가면 왼쪽 값인 value값을 리턴한다.

4) null 병합연산자(??)

??를 사용하여 null과 undefined 값을 가려내는 연산자
왼쪽에 null이나 undefined값이 있으면 오른쪽 값이 입력되고
null이나 undefined값이 아니라면 왼쪽의 값이 리턴

const example1 = null ?? "I";
const example2 = undefined ?? 'love';
const example3 = 'NY' ?? 'Beijing';

console.log(example1, example2, example3) // I love NY
profile
안녕하세요!

0개의 댓글