오늘은 수업 때 본 테스트 중 틀린 것을 정리해보려고 합니다.
틀린 문제1. 빈칸의 답은?
{
var x = 100;
var y = 200;
var z = "javascript";
console.log(__);
console.log(__);
console.log(__);
//100
//200
//300
}
오답노트
답은 x
y
x+y 인데 습관적으로 z라고 생각하고 z라고 적어서 틀렸습니다...
300이 나오려면 100+200을 해야하니 답은 x+y입니다!
틀린 문제2. 빈칸의 답은?
{
const arr = ________();
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript";
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
//100
//200
//javascript
}
오답노트
배열을 불러오는 것이므로 빈칸에는 newArray로 배열을 선언해주어야 합니다.
틀린 문제3. 빈칸의 답은?
{
const obj = [
{a:100, b:200},
{c:"javascript"}
];
console.log(________);
console.log(________);
console.log(________);
//100
//200
//javascript
}
오답노트
저는 답을 대괄호를 쓰지 않고 그냥 obj.a라고 했는데, 제가 쓴 답은 객체에서만 가능한 답이고,
문제에서는 배열이므로 인덱스를 이용해서 값을 접근 해야 합니다.
즉, 대괄호를 쓰고 안에 인덱스 번호를 넣어 출력해야하므로
그래서 답은 obj[0].a
obj[0].b
obj[1].c 입니다.
틀린 문제4. 빈칸의 답은?
{
const obj = {
a: 100,
b: [200, 300],
c: "javascript"
}
console.log(________);
console.log(________);
console.log(________);
//200
//300
//200300
}
오답노트
마지막에서 단순히 obj.b만 불러와도 되었는데 obj.b[0],obj.b[1] 로 적어 틀렸습니다.
답은 obj.b[0]
obj.b[1]
obj.b 입니다.
틀린 문제5. 빈칸의 답은?
{
const obj = {
a: 100,
b: [200, ____],
c: "javascript",
d: _________(){
document.write("javascript가 실행되었습니다.");
},
e: function(){
document.write( _______ + "가 실행되었습니다."); //변수값 사용
},
f: function(){
document.write( _______ + "가 실행되었습니다."); //this를 사용
}
}
document.write(obj.a);
document.write(obj.b);
document.write(obj.b[0]);
document.write(obj.b[1]);
document.write(obj.c);
obj.d();
obj.e();
obj.f();
//100
//200,300
//200
//300
//javascript
//javascript가 실행되었습니다.
//javascript가 실행되었습니다.
//javascript가 실행되었습니다.
}
오답노트
마지막에 this만 쓰고 .c를 안적어서 틀렸습니다.
수업시간에는 자기 자신한테 this를 쓸 수 있다 정도로 간단히 배워서 잘 이해하지 못한 것 같아서 찾아보았습니다.
this는 객체 내에서 메서드를 호출할 때 메서드가 속한 객체를 참조하기 위해 사용합니다.
this를 사용해 호출한 메서드 객체 내의 다른 속성이나 메서드를 참조하거나 변경할 수 있습니다.
그래서 this.c가 정답인 이유는 해당 메서드가 속한 obj객체의 c 속성을 참조하기 위해서 입니다.
즉, this는 obj속성을 가리키므로 this.c를 쓰면 obj.c와 같은 값이라는 것입니다.
그래서 this.c가 f의 빈칸에 들어갈 정답입니다!
틀린 문제6. 결과값은?
{
let num = 0;
while( num <= 5 ){
document.write( num + ". 반복문이 실행되었습니다.");
num++;
}
}
오답노트
document.write 안의 num을 못보고 바보같이 문자열만 적어서 틀렸습니다....
num이 0부터 시작하고 5와 같을 때 까지 반복하므로
0.반복문이 실행되었습니다.
1.반복문이 실행되었습니다.
2.반복문이 실행되었습니다.
3.반복문이 실행되었습니다.
4.반복문이 실행되었습니다.
5.반복문이 실행되었습니다.
이렇게 총 6번 0-5가 나올때까지 츨력된 것이 답입니다!
틀린 문제7. 결과값은?
{
const str = [100, 200, 300, 400, 500];
str.forEach((element, index, array) =>l {
document.write(element);
document.write(index);
document.write(array);
});
}
오답노트
index와 element 값 순서를 반대로 적어 틀렸습니다......
element는 forEach() 메서드의 첫번째 매개 변수로 str배열의 각 요소를 차례대로 가르키는 변수입니다.
forEach()메서드는 배열의 각 요소에 대해 콜백함수를 실행합니다.
element는 현재 배열의 요소 값입니다.
따라서 element는 100,200,300,400,500을 차례대로 가르키므로 element는100, index는 몇번째 요소인지 알려주므로 0,array는 배열 전체를 출력하는 것으로 시작해야합니다.
그래서 답은
100
0
100,200,300,400,500
200
1
100,200,300,400,500
300
2
100,200,300,400,500
400
3
100,200,300,400,500
500
4
100,200,300,400,500
입니다!