[모던 자바스크립트 Deep Dive] 25~27장 퀴즈

jini.choi·2023년 11월 22일
0
post-thumbnail

📝 문제

25장 클래스

Q. 클래스에서 정의한 메서드의 특징 중 틀린것을 고르세요.

1️⃣ function 키워드를 생략한 메서드 축약표현을 사용한다.

2️⃣ 객체 리터럴과는 다르게 클래스에 메서드를 정의할 때는 콤마가 필요하다.

3️⃣ 암묵적으로 strict mode로 실행된다.

4️⃣ for ... in 문이나 Object.keys 메서드 등으로 열거할 수 없다. 즉, 프로퍼티의 열거 가능 여부를 나타내며, 불리언 값을 갖는 프로퍼티 어트리뷰트 [[Enumerable]]의 값이 false다.

5️⃣ 내부 메서드 [[Construct]]를 갖는 constructor다. 따라서 연산자와 함께 호출할 수 있다.

26장 ES6 함수의 추가 기능

Q. 화살표 함수특징 중 틀린 것을 고르세요.

1️⃣ 매개 변수가 없는 경우를 제외하고 소괄호 ()를 생략할 수 있다.

2️⃣ 함수 몸체가 하나의 문으로 구성된다면 함수 몸체를 감싸는 중괄호{}를 생략할 수 있다.

3️⃣ 객체 리터럴을 반환하는 경우 객체 리터럴을 중괄호 {}로 감싸 주어야한다.

4️⃣ 함수 몸체가 여러개의 문으로 구성된다면 함수 몸체를 감싸는 중괄호 {}를 생략할 수 없다

5️⃣ 화살표 함수도 즉시 실행 함수로 사용할 수 있다.

27장 배열

Q. 빈칸을 채워 넣으세요.

아래 코드는
1. 1~100사이에 랜덤숫자를 중복되지 않는 난수로 10개를 생성합니다.
2. 그 후 오름차순으로 정렬한 후 추출하고,
3. 합계를 구한 것도 추출해야 합니다.

let randomNumberArr = [];

for(let i = 0; i <= 10; i++){
  const randomNumber = Math.floor(Math.random() * 100) + 1;
  
  if(!randomNumberArr.빈칸(randomNumber)){
    randomNumberArr.빈칸(randomNumber)
  }else{
    i--
  }
}

randomNumberArr.빈칸((num1, num2) => num1 - num2);

const result = randomNumberArr.빈칸((pre, cur) => pre + cur, 0)

console.log(randomNumberArr);
console.log(result);

💡 답

25장 클래스

A. 2️⃣, 5️⃣

2️⃣ 객체 리터럴과는 다르게 클래스에 메서드를 정의할 때는 콤마가 필요 없다.

5️⃣ 내부 메서드 [[Construct]]를 갖지 않는 non-constructor다. 따라서 new 연산자와 함께 호출할 수 없다.

26장 ES6 함수의 추가 기능

A. 1️⃣, 3️⃣

1️⃣ 매개변수가 하나인 경우에만 생략할 수 있다.
3️⃣ 객체 리터럴을 반환하는 경우 객체 리터럴을 "소괄호()" 감싸 주어야한다.

27장 배열

A. includes, push, sort, reduce

let randomNumberArr = [];

for(let i = 0; i <= 10; i++){
  const randomNumber = Math.floor(Math.random() * 100) + 1;
  
  if(!randomNumberArr.includes(randomNumber)){
    randomNumberArr.push(randomNumber)
  }else{
    i--
  }
}

randomNumberArr.sort((num1, num2) => num1 - num2);

const result = randomNumberArr.reduce((pre, cur) => pre + cur, 0)

console.log(randomNumberArr);
console.log(result);
profile
개발짜🏃‍♀️

0개의 댓글