오늘 자바스크립트 테스트를 보았고 그에 따른 오답노트를 작성하려고 한다. 🙃🙃
점수는 100점 만점에 60점. 많은 노력이 필요할 것 같다.
02. 다음의 출력값을 보고 빈칸을 채우시오!
{
let x = 100;
let y = 200;
let z = "javascript";
x = ___; // 추가 였다면 x = 이 아니라 x += 이어야한다.
y = ___;
z = ___;
console.log(x);
console.log(y);
console.log(z);
//300
//400
//jquery
}
답 : 300 400 jquery
이 문제는 변수의 데이터 저장과 데이터 변경에 대한 문제였다.
정말 쉬운 문제였는데 나는 이걸 데이터 추가로 생각하는 바람에 틀리게 된 문제였다.
데이터 추가인지, 변경인지 확인해야할 때는 꼭 기호를 확인하자!
08. 다음의 출력값을 보고 빈칸을 채우시오!
{
const obj = {____________________};
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
//100
//200
//javascript
}
답 : a:100, b:200, c:"javascript"
여기서부터 내가 공부해야할 부분을 알았다. 바로 '객체의 데이터 저장과 표현방법' obj가 들어가는 친구들이 머리속에서 뒤섞여 줄줄이 소세지로 전부 틀리고 말았다. 😞
이 문제는 const obj = { 키 :값, 키 :값, 키 :값 } 표현법에 대한 문제였다.
여러 데이터를 하나의 변수에 저장하는 방식으로 데이터를 나열해주면 된다.
09. 다음의 출력값을 보고 빈칸을 채우시오!
{
const obj = [
{a:100, b:200}, // 배열 안에 객체가 있는 형식이기 때문에 a와 b가 들어있는 중괄호가 [0]이며
{c:"javascript"}// c가 들어있는 중괄호가 [1]이 된다.
];
console.log(________);
console.log(________);
console.log(________);
//100
//200
//javascript
}
답 : obj[0].a / obj[0].b / obj[1].c
이것 역시 객체 키와 값의 출력 방식에 대한 문제였다. console.log(obj[배열].객체);
첫번째 배열은 [0]이고 그 안에 들은 a객체를 덧 붙여주면 되는 방식이다. 어이없게도 이걸 반대로 써서 틀렸다..ㅠ
10. 다음의 출력값을 보고 빈칸을 채우시오!
{
const obj = {
a: 100,
b: [200, 300], // b[0][1]로 표현이 된다.
c: "javascript"
}
console.log(________);
console.log(________);
console.log(________);
//200
//300
//200300
}
객체 안에 배열이 있는 방식으로 출력법은 아래와 같다.
console.log(obj.객체); / console.log(obj.객체[배열]); / console.log(obj.객체.객체)
console.log(obj.a) => 100
console.log(obj.b[0] => 200
console.log(obj.b[0][1])=>200300
11. 다음의 출력값을 보고 빈칸을 채우시오!
{
const a = 100; // 키와 값을 먼저 입력한다.
const b = 200;
const c = "javascript";
const obj = { _________ } // 키를 나열한다.
document.write(obj.a);
document.write(obj.b);
document.write(obj.c);
//100
//200
//javascript
}
답 : a, b, c
이 방식은 키 값을 대신해서 변수를 입력시키는 방법이다. 중괄호 안에 키 값을 나열해주는 것이 포인트다.
12. 다음의 출력값을 보고 빈칸을 채우시오!
출력값이 javascript가 실행되었습니다 가 나오게하는 것이 목표
{
const obj = {
a: 100,
b: [200, ____],
c: "javascript",
d: _________(){
document.write("javascript가 실행되었습니다.");
},
e: function(){
document.write( _______ + "가 실행되었습니다."); // 변수값을 사용한다면 c("javascript")를 넣으면 된다.
},
f: function(){
document.write( _______ + "가 실행되었습니다."); //this는 자기 자신이라는 의미를 담고 있기 때문에 this를 붙이고 그 뒤에.과 함께 c를 넣어준다.
}
}
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가 실행되었습니다.
}
이번 테스트에서 내게 제일 어려웠던 문제였다.
함수 안에 다른 키 값과 문자를 입력하는 방식이었는데, 이게 계속 되니 아마 머리속이 복잡해졌던 것 같다.
b에는 300이라는 값이 들어가야 하고 함수를 이용한 방식이기 때문에 d에는 function e는 obj.c, f에는 this.c를 넣어준다.
17. 다음의 결괏값을 완성하시오.
{
let num = 10;
if( num == 100 ){
document.write("조건문이 실행되었습니다.(1)");
if( num == 100 ){
document.write("조건문이 실행되었습니다.(2)");
if( num == 100){
document.write("조건문이 실행되었습니다.(3)");
}
}
} else {
document.write("조건문이 실행되었습니다.(4)");
}
}
if else를 사용한 코드인데 나는 답이 나오지 않는다고 적었다. 단순하게 초반 조건이 성립이 되지 않기 때문에 답이 나오지 않는 다고 생각했으나 뒤에 else가 붙어있기 때문에 " 조건문이 실행되었습니다. (4) "가 나와야했다.
여기서 다시한번 짚고 가야할 부분은 else가 앞의 조건식에 모두 만족하지 않을 때 출력된다는 값이라는 것이다.