본문 바로가기
코딩테스트/리디야 할리 JS Quiz

JS Quiz 33-36. call, bind / 즉시실행함수 / falsy-truthy 값 / typeof 연산자

by 학습하는 청년 2024. 4. 13.

33. What's the output?

const person = { name: 'Lydia' };

function sayHi(age) {
  return `${this.name} is ${age}`;
}

console.log(sayHi.call(person, 21));
console.log(sayHi.bind(person, 21));

정답 D // call. bind

 

2024-04.12

공부 필요

다시 해석 달기!

 


34. What's the output?

function sayHi() {
  return (() => 0)();
}

console.log(typeof sayHi());

정답 B // 즉시 실행함수와 typeof 연산자에 대한 문제

 

함수 sayHi는 즉시실행함수로 선언됐다. 값을 0을 반환하므로, typeof 0 이 된다. typeof 연산자는 문자열로 반환하므로, "number"이 출력된다.

 


35. Which of these values are falsy?

0;
new Number(0);
('');
(' ');
new Boolean(false);
undefined;

정답 A // falsy 값에 대한 문제

 

new를 통해 선언된 객체는 truthy 값이고, (' ')는 공백도 문자열로 취급되어 truthy값으로 인정된다.

 


36. What's the output?

console.log(typeof typeof 1);

정답 B // typeof 연산자에 대한 문제

 

위 34번 문제에 대한 해석과 동일하게,

typeof 연산자는 문자 형태로 반환한다. 즉, typeof 1 은 "number"을 반환하므로, typeof "number"이 된다. 따라서, "string"을 반환한다.

댓글