반응형
Javascript 또는 Typescript에서 어떤 변수를 사용할 때 조건에 따라 사용하고 싶으면 if문을 사용한다.
if (var1 == true) {
let var2 = 0;
} else {
let var2 = 1;
}
다만 if문 안에서 변수를 선언하는 경우 블록 밖에서는 해당 변수를 사용할 수 없기 때문에 필요한 경우 이런 식으로 응용한다.
let var2 = 1;
if (var1 == true) {
var2 = 0;
}
조금 더 간단하게 사용하려면 삼항 연산자를 사용하면 된다.
let var2 =
var1 == true
? 0
: 1;
조건 ? 조건이 참인 경우 값 : 조건이 거짓인 경우 값
그러나 조건과 사용하려는 값이 같아지는 경우엔 똑같은 부분을 쓰느라 코드가 중복된다.
let va2 = var1.value ? var1.value : false
조금 더 짧게 줄이고자 OR 연산자를 사용하기도 한다.
let var2 = var1.value || true
OR 연산자를 사용하면 var2에는 var1.value가 존재할 경우 그 값이, 아닐 경우 true가 들어간다.
다만 또다른 문제가 발생하는데, var1.value가 falsy한 값일 경우이다.
OR 연산자는 왼쪽 피연산자의 값이 fasly한 경우 오른쪽 연산을 시작하기 때문이다.
그러니 true/false의 문제가 아니라, 값의 존재여부만 따지고 싶을 땐 null 병합 연산자를 사용하면 된다.
let var2 = var1.value ?? true
null 병합 연산자의 경우 왼쪽 피연산자가 falsy한지를 보는 것이 아니라, null이나 undefined가 아닌지만을 확인한다.
즉 위 코드에서 var1.value가 false여도 null이나 undefined가 아니기 때문에 var2의 값은 false가 될 것이다.
반응형
'개발 및 알고리즘 > 알고리즘' 카테고리의 다른 글
| [React Native] 리액트 네이티브에서 커스텀 폰트 일괄 적용하기 (0) | 2024.07.30 |
|---|---|
| [React Native] 리액트 네이티브에서 구글로그인 구현하기 (@react-native-google-signin/google-signin) (2) | 2024.07.23 |
| [React Native] 리액트 네이티브에서 스플래시 스크린에 애니메이션 구현하기 (lottie + react-native-bootsplash) (0) | 2024.07.12 |
| [React Native] 리액트 네이티브에서 기기 설정 언어 확인하기 (react-native-localize) (1) | 2024.07.11 |
| [Programmers] 두 개 뽑아서 더하기* (0) | 2024.04.01 |