console.log
[모던 자바스크립트 Deep Dive] 20 - 21 장 Self Quiz 본문
1. proto 접근자 프로퍼티에 대한 설명으로 옳지 않은 것은 ?
- [[Get]] , [[Set]] 프로퍼티 어트리뷰트를 통해 프로토타입 취득, 할당 가능하다.
- 객체가 직접 소유하는 프로퍼티이다.
- 상호 참조에 의해 프로토타입 체인이 생성되는 것을 방지하기 위해 사용한다.
- 코드 내에서 직접 사용하는 것을 권장하지 않는다.
정답
2. 객체가 직접 소유하는 프로퍼티가 아니라 Object.prototype의 접근자 프로퍼티이다. 따라서 모든 객체는 상속을 통해 Object.prototype.proto 사용 가능하다.
2. 다음 빈칸에 들어갈 말은 ?
객체를 생성할 때에는 모두 추상 연산인 ______________에 의해 생성
정답
OrdinaryObjectCreate
3. 다음 빈칸에 들어갈 말은 ?
자바스크립트 엔진은 객체 간의 상속 관계로 이루어진 프로토타입의 계층적인 구조에서 객체의 프로퍼티를 검색한다. __ 은 상속과 프로퍼티 검색을 위한 메커니즘이라고 할 수 있다.
정답
프로토타입 체인
4. 다음 출력은?
function Person(name) { this.name = name; } const me = new Person('Lee'); const parent = {}; Object.setPrototypeOf(me, parent); console.log(Person.prototype === parent); // 1 console.log(parent.constructor === Person); // 2 console.log(me instanceof Person); // 3 console.log(me instanceof Object); // 4
정답
false false false true
5. 위 3, 4번이 true가 되기 위해서 중간에 어떤 코드가 삽입되어야 할까요 ?
정답
Person.prototype = parent;
6. strict mode를 적용하기 위해서 선두에 추가해야 하는 명령어는 ?
정답
‘use strict’;
7. 다음 중 strict mode 로 걸러낼 수 있는 에러가 아닌 것은 ?
- 암묵적 전역 - 선언하지 않은 변수를 참조하면 ReferenceError 발생
- 변수, 함수, 매개변수의 삭제 - delete연산자로 변수, 함수, 매개변수를 삭제하면 SyntaxError 발생
- 매개변수 이름의 중복 - 중복된 매개변수 이름 사용으로 SyntaxError 발생
- switch 문의 사용 - switch 문을 사용하면 SyntaxError 발생
정답
5. switch가 아니라 with 문을 사용하면 에러 발생
8. 원시값에 대한 설명으로 옳지 않은 것은 ?
- 원시값은 객체가 아니므로 프로퍼티나 메서드를 가질 수 없는데도 마치 객체처럼 동작함
- 원시값에 객체처럼 접근하면 생성되는 임시 객체를 래퍼 객체라고 한다.
- 문자열, 숫자 값에 마침표 표기법으로 접근하면 String.prototype, Number.prototype의 메서드를 상속 받아 사용 가능
- 모든 원시값을 객체처럼 사용할 수 있다.
정답
5. 문자열, 숫자, 불리언, 심벌 이외의 원시값을 객체처럼 사용하면 에러 발생
'개발공부 > JavaScript' 카테고리의 다른 글
[모던 자바스크립트 Deep Dive] 22 - 23 장 Self Quiz (0) | 2023.08.29 |
---|---|
[모던 자바스크립트 Deep Dive] 22 - 23 장 (0) | 2023.08.28 |
[모던 자바스크립트 Deep Dive] 20 - 21 장 (0) | 2023.08.26 |
[모던 자바스크립트 Deep Dive] 19 장 Self Quiz (0) | 2023.08.25 |
[모던 자바스크립트 Deep Dive] 19 장 (0) | 2023.08.24 |