5. Which one is true?
const bird = {
size: 'small',
};
const mouse = {
name: 'Mickey',
small: true,
};
정답 A // 표기법의 접근순서와 이해
A. mouse 객체에는 bird를 프로퍼티 네임이 존재하지 않는다. 주의해야 할 점은 mouse.(bird.size = small)로 해석하여 mouse.small이라서 인식하면 안 된다는 사실이다! 점표기법은 앞에서부터 접근한다!!
B. mouse[small] 이므로 true라는 값을 갖는다.
C. 프로퍼티 네임에는 " "를 통해 공백이 있는 것을 하나의 문자열로 만들어주는 역할을 하므로, mouse.bird.size 즉 B와 동일하다.
6. Which one is true?
let c = { greeting: 'Hey!' };
let d;
d = c;
c.greeting = 'Hello';
console.log(d.greeting);
정답 A // 얕은 복사에 대해 아는지를 묻는 문제
d = c;를 풀어보면, let d = { greeting: 'Hey!' }; 이다.
즉, { greeting: 'Hey!' }라는 값에 접근하는 변수명이 d와 c가 된 것이다.
그런데 c.greeting = 'Hello';를 선언함으로써, 사실상 'Hello'라는 값으로 재할당 된 것이라 볼 수 있다.
7. Which one is true?
let a = 3;
let b = new Number(3);
let c = 3;
console.log(a == b);
console.log(a === b);
console.log(b === c);
정답 C // 원시 타입과 객체 타입에 대해 아는지를 묻는 문제
let b는 내장 객체 Number()를 사용하여 3을 선언한 것이므로, 값으로써는 원시 값 3과 같으나 typeof 연산자를 통해 비교하면 다른 타입이 나온다.
8. Which one is true?
class Chameleon {
static colorChange(newColor) {
this.newColor = newColor;
return this.newColor;
}
constructor({ newColor = 'green' } = {}) {
this.newColor = newColor;
}
}
const freddie = new Chameleon({ newColor: 'purple' });
console.log(freddie.colorChange('orange'));
정답 D // 클래스 - 아직 안 배워서 모르겠다.
아는 선에서 this를 추적해봤으나 실패. 기록해두고, 클래스를 익힌 후 다시 풀자.
둔필승총( 鈍筆勝聰)!!
'코딩테스트 > 리디야 할리 JS Quiz' 카테고리의 다른 글
JS Quiz 17-20. 함수의 리턴 / 객체의 특성 / rest parameter / 엄격 모드 (0) | 2024.04.05 |
---|---|
JS Quiz 13-16. 이벤트 전파 / 객체와 프로토타입 / 묵시적 형변환 / 후위-전위 연산 (0) | 2024.04.02 |
JS Quiz 9-12. 함수에 대해 묻는 문제 / 다시 공부예정 (0) | 2024.04.01 |
JS Quiz 1-4. var와 let의 호이스팅과 스코프 / 함수의 this / 형변환과 truthy-falsy 값 (0) | 2024.03.31 |
리디야 할리 JS Quiz 공부 목적 (0) | 2024.03.31 |
댓글