Skip to content

18장 퀴즈 #2

@GEONU-MOON

Description

@GEONU-MOON

Q1. 일급객체란?

A. [펼쳐보기] 다른 값들과 동일하게 다룰 수 있는 값

Q1-1. 함수가 일급 객체로 취급된다는 것은 어떤 의미인가? 다음 중 옳지 않은 설명을 고르세요.

  1. 함수는 변수에 할당할 수 있다.
  2. 함수는 다른 함수의 인자로 전달할 수 있다.
  3. 함수는 다른 함수의 반환값으로 사용할 수 있다.
  4. 함수는 반드시 생성자 함수로 만들어야 한다.
A. [펼쳐보기] 4번, 자바스크립트에서 함수는 선언식, 표현식, 화살표 함수 등 다양한 방식으로 정의할 수 있으며, 생성자 함수로만 만들어야 하는 제한은 없다. 또한, 생성자 함수는 new 키워드와 함께 사용하여 객체를 생성하는 특별한 용도의 함수일 뿐, 모든 함수가 생성자 함수일 필요는 없다.

Q2. 다음 코드의 출력 결과는?

function sayHello() {
  console.log("Hello!");
}
sayHello.language = "English";
console.log(sayHello.language);
  1. undefined
  2. "English"
  3. 오류가 발생한다.
  4. null
A. [펼쳐보기] 2, sayHello는 함수로 선언됐다. 자바스크립트에서 함수는 객체로 취급되므로, 객체처럼 프로퍼티를 추가하거나 수정할 수 있다. sayHello.language = "English";는 함수 sayHello에 language라는 프로퍼티를 추가하고 그 값을 "English"로 설정한다. 마지막 줄에서 console.log(sayHello.language);는 함수 객체의 language 프로퍼티를 참조하므로 "English"가 출력.

Q3. 다음 코드에서 execute 함수의 출력 결과는 무엇일까요?

function execute(func) {
  return func();
}

function greet() {
  return "Hi!";
}

console.log(execute(greet));
  1. "Hi!"
  2. "undefined"
  3. undefined
  4. 오류가 발생한다.
A. [펼쳐보기] execute 함수는 다른 함수를 인자로 받아 실행하고, 그 결과를 반환한다. execute(greet)는 greet 함수를 호출하여 그 반환값을 가져옴. greet 함수는 단순히 문자열 "Hi!"를 반환하므로, 최종적으로 console.log(execute(greet));는 "Hi!"를 출력.

Q4. 다음 중 자바스크립트 함수각 객체라는 것을 보여주는 예시는 무엇인가요?

  1. 함수에 데이터를 저장할 수 있다.
  2. 함수는 name 프로퍼티를 가진다.
  3. 함수는 length 프로퍼티를 가진다.
  4. 모든 항목이 해당된다.
A. [펼쳐보기] 4번

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions