9. What's the output?
let greeting;
greetign = {}; // Typo!
console.log(greetign);
정답 A // 모르겠다.
JS 인터프리터가 어떻게 동작하는 지를 파악하자.
<해설>
It logs the object, because we just created an empty object on the global object! When we mistyped greeting as greetign, the JS interpreter actually saw this as:
|
이것은 object로 기록이 찍힌다. 왜냐하면 빈 객체를 global 객체에 생성했기 때문이다. 우리가 greeign이라는 오타를 작성했을 때, JS interpreter은 다음과 같이 읽었다. 이를 피하기 위해서는, "use strict" 모드를 사용할 수 있다. 이렇게 하면, 변수를 다른 것과 동일하게 설정하기 전에 확인할 수 있다. |
10. What's the output?
function bark() {
console.log('Woof!');
}
bark.animal = 'dog';
정답 A // 함수도 객체인지를 인식하고 있는지를 문는 문제
함수도 객체이므로 bark.animal = 'dog';가 프로퍼티가 추가된다. 그러나 console.log(animal); 또는 함수를 호출(bark())를 해도 animal이 출력되지는 않는다.
11. What's the output?
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
const member = new Person('Lydia', 'Hallie');
Person.getFullName = function() {
return `${this.firstName} ${this.lastName}`;
};
console.log(member.getFullName());
정답 A // 함수가 객체인지를 묻는 문제
얼떨결에 맞추긴 했지만, 잘 설명하지 못하겠다. ths와 new가 나오면 기죽고 시작한다. 공부가 필요하다.
12. What's the output?
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
const lydia = new Person('Lydia', 'Hallie');
const sarah = Person('Sarah', 'Smith');
console.log(lydia);
console.log(sarah);
정답 A // 객체의 특성을 묻는 문제.
이것도 모르겠다. 오늘은 9-12 전체에 대해 공부할 필요성을 느꼈다.
기록해두었다가 다시 풀어봐야 겠다. 해설도 그때!(이번주 내로)
'코딩테스트 > 리디야 할리 JS Quiz' 카테고리의 다른 글
JS Quiz 17-20. 함수의 리턴 / 객체의 특성 / rest parameter / 엄격 모드 (0) | 2024.04.05 |
---|---|
JS Quiz 13-16. 이벤트 전파 / 객체와 프로토타입 / 묵시적 형변환 / 후위-전위 연산 (0) | 2024.04.02 |
JS Quiz 5-8. 객체 접근법과 방법 / 얕은 복사 / 원시 타입과 객체 타입 / 클래스 (0) | 2024.03.31 |
JS Quiz 1-4. var와 let의 호이스팅과 스코프 / 함수의 this / 형변환과 truthy-falsy 값 (0) | 2024.03.31 |
리디야 할리 JS Quiz 공부 목적 (0) | 2024.03.31 |
댓글