console.log(NaN ? true : false); // false
console.log("" ? true : false); // false
console.log(0 ? true : false); // false
console.log(undefined ? true : false); // false
console.log(null ? true : false); // false
console.log(false ? true : false); // false
console.log(" " ? true : false); // true
console.log(-1 ? true : false); // true
console.log(true ? true : false); // true
둘중에 1개를 선택할 때 편하다. 짝수 홀수 같은 경우
let temp = 조건식 ? 참값 : 거짓값; let temp = num%2==0 ? "Even" : "Odd"
data ? data.board.user : "";
***
# [3] And(&&) , Or(||)
> and나 or 연산에는 주의할 점이 있다.
## (1) &&
컴퓨터의 입장으로 생각해봐야한다. 컴퓨터는 똑똑해서 쓸모없는 삽질을 하지 않는다.
거짓 && ~~거짓~~ => 앞에가 거짓이므로 뒤에는 판단할 값어치가 없다.
거짓 && ~~참~~ => 앞에가 거짓이므로 뒤에는 판단할 값어치가 없다.
참 && 거짓 => 앞에가 참이므로 뒤에도 참인지 실행해봐야한다.
참 && 참 => 앞에가 참이므로 뒤에도 참인지 실행해봐야한다.
## (2) ||
거짓 || 거짓 => 앞에가 거짓이므로 뒤에도 거짓인지 실행해봐야한다.
거짓 || 참 => 앞에가 거짓이므로 뒤에도 거짓인지 실행해봐야한다.
참 || ~~거짓~~ => 앞에가 참이므로 뒤에는 판단할 값어치가 없다.
참 || ~~참~~ => 앞에가 참이므로 뒤에는 판단할 값어치가 없다.
## (3) && , || 이해를 위한 예시
{ data?fetchBoard.id &&
{ false &&
{ true &&
{ data?fetchBoard.id ||
{ false ||
{ true ||
***
# [4] ?.(optional chaining)
> A?.B , ?앞에 A가 존재하면은 실행하고 없으면 실행하지 않는다.
data?.board.user // data가 존재하면 data.board.user를 실행하거나 보여준다. , api로 데이터를 받아와서 띄워줄 때 사용한다.
***
# [5] ??(nullish coalescing)
> null 이나 undefined인 경우에는 뒤에 값을 보여주는 연산자?
console.log(null ?? "hi"); // hi
console.log(undefined ?? "hi"); // hi
console.log(0 ?? "hi"); // 0
console.log("" ?? "hi"); // [empty string]
console.log(NaN ?? "hi"); // NaN
console.log(false ?? "hi"); // false
***