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

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

📝 문제

28장 Number

Q. 출력 결과를 작성하세요.

function isEqual(a, b){
  return Math.abs(a - b) < Number.EPSILON;
}

console.log(isEqual(0.2 + 0.5, 0.7)); 

29장 Math

Q. 다음 중 인수로 전달될 숫자의 소수점 이하를 올림한 정수를 반환하는 것은?

1️⃣ Math.round

2️⃣ Math.sqrt

3️⃣ Math.floor

4️⃣ Math.ceil

5️⃣ Math.pow

30장 Date

Q. 86400000ms는 며칠을 의미할까요?

31장 RegExp

Q. 다음 중 틀린 것은?

1️⃣ [...] 내의 ^은 문자열의 시작을 의미한다.

2️⃣ &는 문자열의 마지막을 의미한다.

3️⃣ /A+|B+/g 와 /+[AB]/g 는 동일하다.

4️⃣ \D는 문자를 의미한다.

5️⃣ \w는 알파벳, 숫자, 언더스코어를 의미한다.

32장 String

Q. 출력 결과를 작성하세요.

const str = 'Developer';

console.log(str.indexOf('j')); 
console.log(str.startsWith('l', 5)); 

33장 7번째 데이터 타입 Symbol

Q. 다음 중 틀린 것은?

1️⃣ Symbol 함수에는 문자열을 인수로 전달할 수 있으며, 이것은 심벌 값이 된다.

2️⃣ 다른 값과 절대 중복되지 않는 유일무이한 값이다.

3️⃣ 객체처럼 접근하면 암묵적으로 래퍼 객체를 생성한다.

4️⃣ 심벌 값은 암묵적으로 문자열이나 숫자 타입으로 변환된다.

34장 이터러블

Q. 빈칸을 채우세요.

( 빈칸 )을/를 준수한 객체를 이터러블이라한다. 이터러블은 ( 빈칸 )문으로 순회할 수 있으며 스프레드 문법과 배열 디스트럭처링 할당의 대상으로 사용할 수 있다.

35장 스프레드 문법

Q. 출력 결과를 작성하세요.

let str = ['lee', 'kim', 'choi', 'kong'];

str.reverse();

let str2 = [...str];

console.log(str2);
console.log(str === str2);

36장 디스트럭처링 할당(구조 분해 할당)

Q. 다음 중 틀린 것은?

1️⃣ 객체 디스트럭처링 할당을 위한 변수에 기본값을 설정할 수 있다.

2️⃣ 우변에 배열 리터럴 형태이어야 하며, 할당하지 않으면 무시되고 에러는 발생하지 않는다.

3️⃣ 객체 디스트럭처링 할당 기준은 프로퍼티 값이다.

4️⃣ 배열 디스트럭처링 할당 기준은 배열의 인덱스다.

5️⃣ 배열 디스트럭처링 할당을 위한 변수에 Rest 파라미터와 유사하게 Rest 프로퍼티를 사용할 수 있다.

37장 Set과 Map

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

Set 객체의 요소 개수를 확인할 때는 Set.prototype.(빈칸) 프로퍼티를 사용한다.
Set객체에 요소를 추가할 때는 Set.prototype.(빈칸) 메서드를 사용한다.
Set 객체에 모든 요소를 일괄 삭제하려면 Set.prototype.(빈칸) 메서드를 사용한다.
Map 객체에서 특정 요소를 취득하려면 Map.prototype.(빈칸) 메서드를 사용한다.


💡 답

28장 Number

A. true

  • Number.EPSILON은 부동소수점으로 인해 발생하는 오차를 해결하기 위해 사용한다.

29장 Math

A. 4️⃣

  • Math.ceil메서드는 인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환한다.
Math.ceil(1.4);  // -> 2
Math.ceil(1.6);  // -> 2
Math.ceil(-1.4); // -> -1
Math.ceil(-1.6); // -> -1
Math.ceil(1);    // -> 1
Math.ceil();     // -> NaN

30장 Date

A. 86400000ms는 1day를 의미한다.

1s = 1,000ms
1m = 60s 1,000ms = 60,000ms
1h = 60m
60,000ms = 3,600,000ms
1d = 24h * 3,600,000ms = 86,400,000ms

31장 RegExp

A. 1️⃣,2️⃣,3️⃣

1️⃣ [...] 내의 ^은 not의 의미를 갖는다.

2️⃣ $는 문자열의 마지막을 의미한다.

3️⃣ /A+|B+/g 와 /[AB]+/g 는 동일하다.

32장 String

A. -1, false(인덱스 4번이 true)

33장 7번째 데이터 타입 Symbol

A. 1️⃣,4️⃣

1️⃣ Symbol 함수에는 선택적으로 문자열을 인수로 전달할 수 있다. 생성된 심벌 값에 대한 설명으로 디버깅 용도로만 사용되며, 심벌 값 생성에 어떠한 영향도 주지 않는다.

4️⃣ 심벌 값은 암묵적으로 문자열이나 숫자 타입으로 변환되지 않는다.

34장 이터러블

A.

이터러블 프로토콜을 준수한 객체를 이터러블이라한다. 이터러블은 for...of문으로 순회할 수 있으며 스프레드 문법과 배열 디스트럭처링 할당(구조 분해 할당)의 대상으로 사용할 수 있다.

35장 스프레드 문법

A. [ 'kong', 'choi', 'kim', 'lee' ], false

36장 디스트럭처링 할당(구조 분해 할당)

A.2️⃣,3️⃣,5️⃣

2️⃣ 우변에 배열 리터럴 형태이어야 하며, 할당하지 않으면 에러가 발생한다.ㅤ
3️⃣ 객체 디스트럭처링 할당 기준은 프로퍼티 키다.ㅤ
5️⃣ 배열 디스트럭처링 할당을 위한 변수에 Rest 파라미터와 유사하게 Rest 요소를 사용할 수 있다.

37장 Set과 Map

A. size, add, clear, get

profile
개발짜🏃‍♀️

0개의 댓글