My Melody Kawaii

JAVASCRIPT/문제풀이

자바스크립트 문제 오답노트

younajeong 2023. 3. 3. 19:13

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90

✏️자바스크립트 오답 노트

 

자바스크립트 시험에서 틀린 문제들을 오답노트로 정리했습니다.

 

 

01.다음의 출력값을 보고 빈칸을 채우시오

{
    var x = 100; 
    var y = 200; 
    var z = "javascript"; 

    console.log(__);
    console.log(__);
    console.log(__);

    //100
    //200
    //300
}

 

정답

 x, y , x+y

 

 

 

02.다음의 출력값을 보고 빈칸을 채우시오

{
    let x = 100;
    let y = 200;
    let z = "javascript";

    x = ___;   
    y = ___;
    z = ___;

    console.log(x);
    console.log(y);
    console.log(z);

    //300
    //400
    //jquery
}

오답풀이

x=200; y=400; z=jquery라고 썼는데 배열은 데이터가 변경도 가능하므로 x=300이라는 글자를 넣어주면 변환이 되어서 300으로 출력이 가능합니다.

 

 

 

03.다음의 출력값을 보고 빈칸을 채우시오

{
    let x = 100;
    let y = 200;
    let z = "javascript";

    x ___ 300;       
    y ___ 400;       
    z ___ "jquery";  

    console.log(x);
    console.log(y);
    console.log(z);

    //400
    //-200
    //javascriptjquery
}

오답풀이

연산자를 사용할 때 자바스립트에서는 +=,-=과 같이 더해주는 값이 =앞으로 가서 출력이 됩니다. 그래서 정답은 +=,-=,+=이 됩니다.

 

 

 

 

04.다음의 출력값을 보고 빈칸을 채우시오

{
    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
}

오답풀이

배열은 여러개 데이터를 저장 할 수 있습니다. 그런데 많은 데이터를 저장하기 위해서는 new Array(100,200,"javascript") 이런 식으로 한번에 써줄 수 있습니다.

 

 

 

05.다음의 출력값을 보고 빈칸을 채우시오

{
    const arr = [___________________];    

    console.log(arr[0]);
    console.log(arr[1]);
    console.log(arr[2]);

    //100
    //200
    //javascript
}

정답

 100,200,javascript

 

 

06.다음의 출력값을 보고 빈칸을 채우시오

{
    const obj = new Object();

    obj[0] = 100;
    obj[1] = 200;
    obj[2] = "javascript";

    console.log(______);
    console.log(______);
    console.log(______);

    //100
    //200
    //javascript
}

정답

obj[0]; , obj[1]; ,obj[2];

 

07.다음의 출력값을 보고 빈칸을 채우시오

{
    const obj = new Object();
    
    obj.a = 100;
    obj.b = 200;
    obj.c = "javascript";

    _____________________
    _____________________
    _____________________

    //100
    //200
    //javascript
}

오답풀이

객체의 값을 구할 때는 const라는 obj안에 객체 New Object가 들어가 있습니다. 그래서 객체의 a,b,c값을 구할 때

consloe.log(obj.a);

consloe.log(obj.b);

consloe.log(obj.c); 로 구해줍니다.

 

 

08.다음의 출력값을 보고 빈칸을 채우시오

{
    const obj = {____________________};

    console.log(obj.a);
    console.log(obj.b);
    console.log(obj.c);

    //100
    //200
    //javascript
}

오답풀이

객채 obj를 가져오는 방법은 한줄로 가져올 수 있습니다. {a:100, b;200, c:"javascript"} 한줄로 선언할 수 있습니다.

 

 

 

09.다음의 출력값을 보고 빈칸을 채우시오

{
    const obj = [
        {a:100, b:200},
        {c:"javascript"}
    ];

    console.log(________);
    console.log(________);
    console.log(________);

    //100
    //200
    //javascript
}

오답풀이

배열안에 객채가 있는 값을 출력해 주어야 하므로 (obj[0].a) , (obj[0].b), (obj[0].c) 으로 출력할 수 있습니다.

 

 

 

10.다음의 출력값을 보고 빈칸을 채우시오

{
    const obj = {
        a: 100,
        b: [200, 300],
        c: "javascript"
    }
    console.log(________);
    console.log(________);
    console.log(________);

    //200
    //300
    //200300
}

오답풀이

객체 안에 배열이 있는 값입니다. 출력하기 위해서는 (obj.b[0]); ,(obj.b[1]); ,(obj.b); 로 출력할 수 있습니다.

 

 

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.다음의 출력값을 보고 빈칸을 채우시오

{
    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가 실행되었습니다.
}

오답풀이

obj.b[0]의 값은 300입니다. 객체 안에 배열이 있을 경우 객채를 써준후 배열의 인덱스 값을 써주기 때문에 첫번째 괄호는 300

객체에는 함수도 들어갈 수 있습니다. 그러므로 두번째 괄호에는 function이 들어갑니다. 그리고 e와 f의 결과 값으로 봤을 때 e와 f 둘다 함수로 실행이 되었습니다. 그래서 javascript가 들어가야 하는데 javascript를 가지고 있는 변수는 obj c여서 obj c를 써주고 마지막 괄호는 this를 활용하는데 this는 가리키는 용어라 this c라고 쓰면 c 안에 있는 객체를 사용한다는 얘기입니다.

 

 

 

 

13.다음의 출력값을 보고 빈칸을 채우시오

{
    for( let i=1; i<10; i++){
        if(i % 2 == 0) {
            document.write(i);
        }
    }
}

정답

2,4,6,8

 

 

14.다음의 출력값을 보고 빈칸을 채우시오

{
    for( let i=1; i<10; i++){
        if( true ) {
            document.write(i);
        }
    }
}

정답

1,2,3,4,5,6,7,8,9

 

 

 

15.다음의 출력값을 보고 빈칸을 채우시오

{
    const func = function(){
        document.write("함수가 실행되었습니다.");
    }
    func();
}

정답

"함수가 실행되었습니다."

 

 

16.다음의 출력값을 보고 빈칸을 채우시오

{
    if( 1 ){
        document.write("조건문이 실행되었습니다.(true)");
    } else {
        document.write("조건문이 실행되었습니다.(false)");
    }
}

정답

"조건문이 실행되었습니다. (ture)"

 

 

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)");
    }
}

정답

"조건문이 실행되었습니다. (4)"

 

 

 

18.다음의 출력값을 보고 빈칸을 채우시오

{
    let num = 10;

    (num == 100) ? document.write("true") : document.write("false");
}

정답

"false"

 

 

19.다음의 출력값을 보고 빈칸을 채우시오

{
    let num = 0;
    while( num <= 5 ){
        document.write( num + ". 반복문이 실행되었습니다.");  
        num++;
    }
}

오답풀이

while문은 for문과 비슷한 형태를 가진 반복문입니다. 그래서 0이라는 값을 가지고 num이 5보다 크거나 같을 때 num은 1부터 5까지 출력되며 num++때문에 5번까지 반복문이 실행되었습니다. 라는 결과 값이 출력 됩니다. 그래서 정답은 0.반복문이 실행되었습니다. 1.반복문이 실행되었습니다.  2.반복문이 실행되었습니다. 3.반복문이 실행되었습니다. 4반복문이 실행되었습니다. 5반복문이 실행되었습니다.

 

 

20.다음의 출력값을 보고 빈칸을 채우시오

{
    const str = [100, 200, 300, 400, 500];

    str.forEach((element, index, array) =>l {
        document.write(element);
        document.write(index);
        document.write(array);
    });
}

오답풀이

forEach문을 이용해서 element값, index 배열이나 객체가 가진 고유의 번호 , array배열의 값을 반복해서 뽑습니다. 그래서 element값으로 먼저 100을 뽑으면 index의 값 [0]이 나오며 array배열의 값은 100,200,300,400,500이 나오는데 이거를 계속 반복합니다. 

그리하여 정답은 

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