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

JS Quiz 17-20. 함수의 리턴 / 객체의 특성 / rest parameter / 엄격 모드

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

17. What's the output?

function getPersonInfo(one, two, three) {
  console.log(one);
  console.log(two);
  console.log(three);
}

const person = 'Lydia';
const age = 21;

getPersonInfo`${person} is ${age} years old`;

정답 B // 공부 필요

 

 

 


18. What's the output?

function checkAge(data) {
  if (data === { age: 18 }) {
    console.log('You are an adult!');
  } else if (data == { age: 18 }) {
    console.log('You are still an adult.');
  } else {
    console.log(`Hmm.. You don't have an age I guess`);
  }
}

checkAge({ age: 18 });

정답 C // 객체의 특성에 대한 문제

 

객체 타입은 별개의 참조값을 갖는다. 그리고 객체는 안의 내용이 같더라도 별개의 주소값을 갖는다.

const obj1 = { name: 'js'};
const obj2 = { name: 'js};
==> Boolean(*obj1 == obj2)는 false를 반환한다.

19. What's the output?

function getAge(...args) {
  console.log(typeof args);
}

getAge(21);

정답 C // rest parameter에 대해 아는지에 대한 문제

 

rest parameter는 배열 형태로 값을 반환한다. 배열은 객체이므로, typeof(Array)는 Object는 반환한다.

따라서, 정답은 객체로 출력된다.

 


20. What's the output?

function getAge() {
  'use strict';
  age = 21;
  console.log(age);
}

getAge();

정답 C // 엄격모드에 대해 아는지 묻는 문제

 

'use strict'는 엄격모드를 사용하겠다는 명령어이다. 또한 범위가 존재하는대, 해당 엄격모드는 함수 안에서만 동작한다. 엄격 모드에서는 변수를 선언하지 않고 사용하는 것을 금지한다.

 

만약, 엄격모드가 아니었다면, 정답은 A가 된다.

댓글