n과 Guard가 존재하지 않으면 n==null은 true입니다. 삼항 연산자에서는 Guard가 정의되지 않습니다. Boolean 값을 false로 변환하면 n과 같게 됩니다. 즉, undefine이 결국 반환됩니다. .
근데 왜 1이 반환되나요?
仅有的幸福2017-05-19 10:35:27
먼저 작업 순서를 잘못 이해하셨어요
으아악||(논리 OR)의 연산 우선순위가 삼항 연산자의 연산 우선순위
보다 높습니다.그래서 (n==null || Guard ? 1 : n) 여기서는 먼저 논리 OR을 계산한 다음 삼항 연산자를 계산합니다
여기서 true ? 1 : n
출력 n
첨부된 작업 우선순위 사진은 어떤 책에서 가져왔는지 기억이 나지 않습니다