카테고리 없음

내일배움캠프 React트랙 72일차 회고 (2022.02.08)

ecoEarth 2023. 2. 8. 20:53

7장 연산자

1번 퀴즈

Okky는 파라미터 n 값이 NaN일때 ‘성공’을 출력하기위해 다음과 같은 함수를 작성했다.

다음코드는 어떤값을 출력할지 서술하시오. [성공 / 실패]

solution = (n) => {
  if (n === NaN) {
    console.log("성공");
  } else {
    console.log("실패");
  }
};
solution(NaN);

정답

정답은 ‘실패’가 출력됩니다.

NaN은 자신과 일치하지 않는 유일한 값이기때문입니다. 두가지의 메서드로 해결할 수 있습니다.

두가지 메서드로 해결하여 Okky가 의도한대로 올바르게 작성한 코드는 다음과 같습니다.

solution = (n) => {
  if (Number.isNaN(n)) {
    console.log("성공");
  }
  console.log("실패");
};
solution(NaN); // 성공 출력
solution = (n) => {
  if (Object.is(NaN, n)) {
    console.log("성공");
  } else {
    console.log("실패");
  }
};
solution(NaN); // 성공 출력

참고 페이지(p.82 ~ p83)

2번 퀴즈

다음 코드의 출력값을 차례대로 서술하시오.

console.log(typeof "3");
console.log(typeof +'3');
console.log(typeof 1 * '3'); // 보라색이면 숫자, 하얀색이면 문자열
// 숫자로 변경
console.log(Number("3"));
// 문자로 변경
console.log(String("3"));
console.log(toString("3"));

정답

첫번째 console.log의 출력값은 string입니다.

두번째 console.log의 출력값은 number입니다.

참고 페이지(p.76 ~ p.77)

3번 퀴즈

다음 코드의 출력값을 서술하시오.

console.log(!!'false');

정답

정답은 “true가 출력된다.”입니다.

공백을 제외한 문자열은 오로지 true값이며, 논리연산자 ! 는 부정(NOT)한 불리언값을 반환합니다.

논리연산자 ! 를 두번 사용해 이중부정하였으므로 정답은 true입니다.

참고 페이지(p.85 ~ p.86)

⚠️추후에 공부해야할 부분

  • 그 외의 연산자(p.90)
  • 연산자 우선순위
  • 연산자 결합순서