JAVASCRIPT

자바스크립트 오답문제 풀이!!

진블로그 2023. 3. 10. 10:28
다른 명언

728x90
반응형

오늘은 시험문제 오답노트를 작성하겠습니다.

01. 결괏값을 작성하시오.

{
    if( null ){
        console.log("true");
    } else {
        console.log("false");
    }
}

02. 결괏값을 작성하시오.

{
    let num = 0;
    while( num <= 5 ){
        num++;
        console.log(num);  
    }
}

 

풀이 : 변수 num이 0부터 시작해서 while문의 조건인 num이 5이하인 경우 반복됩니다. 다음 변수 let의 값인 0이 num++에  들어가서 1이 되고 console.log에 1이 출력됩니다. 1이 다시 while문에 들어가고 num++에 의해 2로 변하고 2가 출력  됩니다. 조건 num은 5이하에 의해서 5까지 입력되고 num++에 의해서 6으로 변하고 6이 출력됩니다. 

정답 : 1,2,3,4,5,6

03. 결괏값을 작성하시오.

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

    str.forEach(function(i){
        console.log(i);
    });
}

 

풀이 : const str은 배열을 선언하고 초기화한 것입니다.  forEach() 메소드는 배열의 각 요소에 대해 인자로 전달된 함수를              실행합니다. 이 함수는 익명 함수이며, function(i){...}으로 정의되어 있습니다. forEach() 메소드는 배열의 각 요소를            함수의 인자로 전달합니다. 함수의 인자로 전달된 i는 각 요소의 값입니다. 함수에서는 console.log(i)를 실행하여 각            요소를 출력합니다.

정답 : 100, 200, 300, 400, 500

04. 결괏값을 작성하시오.

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

    for(let i of str){
        console.log(i);
    }
}

05. 결괏값을 작성하시오.

{
    const obj = {
        a: 100, 
        b: 200
    };

    for(let key in obj) { 
        console.log(key);
        console.log(obj[key]);
    }
}

06. 결괏값을 작성하시오.

{
    let num = 0;

    while( true ){
        num++;
        if( num == 3 ){
            continue;
        }
        if( num > 6 ){
            break;
        }
        console.log(num);
    }
}

 

풀이 : 변수 num의 초기값은 0입니다. while문 안의 num++에서 num값이 1로 변하고 if문의 num이 3인 경우 continue 즉 3  을 제외하고 계속 된다는 뜻입니다. 다음 if문에서는 num이 6을 초과하는 경우 break가 실행되므로 while문은 6에서  끝이납니다. 따라서 1,2,4,5,6이 출력 됩니다. 

정답 : 1,2,4,5,6

07. 결괏값을 작성하시오.

{
    for(let i=1; i<=5; i++){
        console.log(i);

        if(i == 3){
            break;
        }
    }
}

08. 결괏값을 작성하시오.

{
    let num = 0;

    while (num < 20){
        num++;
        console.log(num);

        if(num == 1){
            break;
        }
    }
}

 

풀이 : 변수 num을 초깃값 0으로 선언 후 while문 안에 들어가게 되면 num++에 의해 변수 num은 1이 됩니다. 다음                  console.log 에서 1이 출력되고 if문에 의해서 num1이 1인 경우 while 반복문이 멈추게 됩니다. 

정답 : 1

09. 결괏값을 작성하시오.

{
    let num = 100;

    switch(num){
        case 100 : 
            console.log("100");
            break;
        case 200 : 
            console.log("200");
            break;
        default :
            console.log("300");
    }
}

10. 결괏값을 작성하시오.

{
    func = () => {
        const str = "함수가 실행되었습니다.";
        return str;
    }

    console.log(func());
}

11. 결괏값을 작성하시오.

{
    let direct = 1;

    function gallery(num){
        if(num){
            if(num == 2) direct++;
        } else {
            if(num == 1) direct--;
        }
    }
    gallery(2);

    console.log(direct);
}

 

풀이 : direct라는 변수를 선언하고 초기값 1을 할당하였습니다. else {...}는 if(num) 블록 안에 있는 코드가 실행되지 않은 경우를 처리합니다. 이 경우는 num이 값이 없거나 1인 경우입니다. gallery(2);은 gallery 함수를 호출하는 코드입니다. 이 때, num에 2를 전달하므로 if(num == 2) direct++; 블록이 실행됩니다. console.log(direct);은 direct 변수의 값을 출력하는 코드입니다. 이 때, direct 변수의 값은 2입니다.

정답 : 2

12. 결괏값을 작성하시오.

{
    let sum = 0;
    for(var i=1; i<=100; i++) {
        sum += i;
    };
    console.log(sum);
}

13. 다음의 결괏값을 보고 빈칸을 작성하시오!

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

    document.write(name1);
    document.write(name2);
    document.write(name3);

    //100
    //200
    //javascript
}

 

풀이 : document.write(name1);, document.write(name2);, document.write(name3);은 name1, name2, name3 변수를 출력하는 코드입니다. 따라서 빈칸에는 각 name1, name2, name3가 들어가야 됩니다.

정답 : name1, name2, name3

14. 다음의 결괏값을 보고 빈칸을 작성하시오!

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

    document.write(a);
    document.write(b);
    document.write(c);

    //100
    //200
    //javascript
}

15. 다음의 결괏값을 작성하시오!

{
    const objA = {
        a: 100,
        b: 200
    }
    const objB = {
        c: "javascript",
        d: "jquery"
    }
    const spread = {...objA, ...objB}

    document.write(spread.a);
    document.write(spread.b);
    document.write(spread.c);
    document.write(spread.d);
}

16. 다음의 결괏값을 작성하시오!

{
    const char = ["J","A","V","A","S","C","R","I","P","T"];

    for(let i=9; i>=0; i--){
        console.log(char[i]);
    }
}

 

풀이 : for(let i=9; i>=0; i--)는 i 변수를 초기값 9로 설정하고, i가 0 이상인 동안 반복하며 i를 1씩 감소시키는 코드입니다.

          변수가 9부터 0까지 1씩 감소하면서, char 배열의 마지막 요소부터 첫 번째 요소까지 역순으로 출력됩니다.

정답 : TRIRCSAVAJ

17. 다음의 결괏값을 작성하시오!

{
    let a = 1, b = 2, c = 3, result;
    result = ++a + b++ + ++c;

    console.log(result);
    console.log(a);
    console.log(b);
    console.log(c);
}

18. 다음의 결괏값을 작성하시오!

{
    let i = 1;

    while(i > 5){
        console.log(i);
        i++;
    }
    console.log(i);
}

19. 다음의 결괏값을 작성하시오!

{
    let num = [32, 93, 15, 86, 50];
    let sum = 0;

    for(let i=0; i > num.length; i++){
        sum = sum * i;
    }

    console.log(sum)
}

20. 다음의 결괏값을 작성하시오!

{
    let a, b, result;
    a = 7, b = 4
    result = a & b;

    console.log(result)
}
728x90