OR 연산자는 왼쪽에서 부터 읽는다고 했다. 그래서 왼쪽 부터 거짓이면 출력이 되지 않고, 참인 경우에만 출력이 되는 것이다. 따라서 OR연산자를 사용했을 땐 7 이라는 값이 출력이 되는 것이다.
Nullish은 왼쪽부터 읽히는 것은 동일한데, num, undefined을 제외한 모든 것들은 다 읽혀 나간다고 했다. 따라서 Nullish를 사용한 경우엔 n이 0 이므로 0도 출력이 된다는 것이다. 따라서 출력 값엔 7이 아닌 0이 출력이 된다. 그리고
Nullish를 사용하려면 ?? 를 사용하는 것이다.
Nullish는 null, undefined를 제외한 모든 것을 다 활용할 수 있다 라고 했다. 따라서 첫번째 console.log는 null 이 있으므로 널은 넘어 가고 그 다음인 1을 출력이 되는 것고 두 번째도 undefined가 있으니까 넘어가고 숫자 2를 출력할 수 있는 것이다. 하지만 null ?? undefined가 같이 있을 경우 왼쪽에서부터 읽혀 가니까 더이상은 읽을 수 없을 때 까지 가는데 둘 다 null, undefined라면 마지막에 있는 것을 출력하게 된다. 따라서 null ?? undefined 가 있으면 undefined가 출력이 된다 라는 것이다. &&, || 와 같은 개념이라고 볼 수 있다.
삼항 연산자의 예시이다. a = 1 이니까 1 < 2 가 더 큰건 참이 맞으니까 참! 이라는 결과 값을 가져온다. 왜 삼항 이냐하면 항이 3개 이니까 3항 연산자인 것이다.
조건 ? 참 : 거짓 으로 표현하는 것이다. if 조건보다 훨씬 더 간편하고, 짧은 코드를 낼 수 있어서 많이 쓴다고 함.
이 코드를 보고 설명을 해 볼것이다. 일단 getAlert(message)를 선언 해 주고 삼항연산자로 만들었다. message 안에 값이 있으면 그 메세지를 출력하게 하고, 메세지에 아무것도 없으면 메세지가 존재하지 않습니다. 라고 출력이 되게 하는 것이다. 그래서 console.log에 안녕하세요 라는 메세지가 있으면 안녕하세요~ 가 출력이 되고 ''빈 문자열은 읽힐 수가 없으니 message ? message : '메세지가 존재하지 않습니다' 에서 message는 읽힐 수가 없으니 다음으로 넘어가서 출력이 되는 것이다.