user의 정보를 담고 있는 객체가 있다. user라는 객체의 name이라는 값이 확실하지 않을 때, 아래와 같이 조건문을 사용할 수 있다.
위 조건문은 조건 중 하나라도 참일 경우 'no name'이라는 값을 반환하고, 거짓인 경우 해당 객체의 name 값을 반환하게 된다.
그런데 undefined와 false, '', null, 0은 거짓같은 값(falsy)이기 때문에 항상 false로 평가되는 값이다. 때문에 조건문을 아래와 같이 작성할 수 있다.
if(user.name){
console.log(user.name);
}else{
console.log('no name');
}
여기서 OR연산자를 사용하면 코드를 더 간단하게 작성할 수 있다.
console.log(user.name || 'no name');
위 코드는 앞의 값이 존재하면 앞의 값을 반환하고 그렇지 않으면 뒤의 값을 반환하게 된다. 때문에 user.name이 존재할 경우 해당 값을 반환하게 되고, 존재하지 않을 경우 'no name'을 반환하게 된다. 이러한 OR연산자는 기본값을 지정할 때 많이 사용한다.
다음의 조건문을 보자.
user.age가 19를 초과하는 경우에는 '성인'을 반환하게 되고, 그렇지 않은 경우에는 false를 반환하게 된다. 여기서 AND연산자를 사용하면 위 조건문을 더 간단하게 작성할 수 있다.
console.log(user.age > 19 && '성인');
두 개의 값이 모두 참인 경우 마지막 값을 반환하고, 둘 중에 하나라도 거짓인 경우 false를 반환하게 된다. 이러한 AND연산자는 특수한 상황에서 조건문 대용으로 사용할 수 있다.
'Javascript' 카테고리의 다른 글
Default Value (0) | 2023.06.22 |
---|---|
[JavaScript] null 병합 할당 연산 (0) | 2023.05.03 |
동기 & 비동기 (0) | 2022.05.30 |
join() (0) | 2022.05.30 |
reverse() (0) | 2022.05.30 |