Bomb Kirby Running

자습하기

자바스크립트 시험 오답노트3

^. ̫ .^ 2023. 3. 17. 10:30

728x90

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

{
    (function(){
        console.log("함수가 실행되었습니다.");
    })();
}

 

정답

함수가 실행되었습니다.

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

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

정답

 

함수가 실행되었습니다.

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

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

정답

 

25

오답노트

변수 sum을 0으로 초기화하고, for 루프를 실행하면서 루프 변수 i가 1부터 10까지 2씩 증가합니다.

그리고 루프 안에서 sumi 값을 더합니다.

마지막으로 document.write(sum)을 호출하여 sum 변수의 값을 문서에 출력합니다.

1부터 10까지의 홀수의 합인 25가 출력됩니다.

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

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

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

    //100
    //200
    //javascript
}

정답

 

obj

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

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

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

    //100
    //200
    //javascript
    //jquery
}

정답

 

 

objA objB

오답노트

객체 펼침 연산자가 들어가야 답이 나오므로 빈칸에 들어갈 답은 ..objA와 ..objB가 들어가야 합니다.

06. 다음의 결괏값이 나오도록 보기에서 빈칸에 해당되는 것을 모두 고르시오

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

    //document.write("조건문이 실행되었습니다.(false)");
    //보기
    //true, false, 1, "1", "", 0, null, undefined, [], {}
}

정답

 

false. "", 0 , null, undefined

07. 다음의 if문은 삼항 연산자로 변경하시오.

{
    if( num == 100 ){
        document.write("true");
    } else {
    	document.write("false");
    }
}

정답

 

 

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

오답노트

앞에 if를 써서 틀렸습니다.

삼항연산자는 ?는 조건식을 나타내며, ?의 왼쪽에는 조건식이 옵니다.

조건식이 참이면 왼쪽 조건식이 실행되고 조건식이 거짓이면 오른쪽 조건식이 실행됩니다.

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

{
    for(var i=1; i<=1; i++){
        document.write(i);
        for(var j=1; j<=5; j++){
            document.write(j);
        }
    }
}

정답

 

1

1 2 3 4 5

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

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

    for(let i=0; i<num.length; i++){
        document.write(_______);
    }

    //100 200 300 400 500
}

정답

 

num

오답노트

num이라고 적어야 했는데 옆에 뭘 더 붙여놓고 안지워서 틀렸습니다.

배열을 가져와 출력해야하므로 num입니다.

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

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

    num.forEach(function(el){
        document.write(________);
    });

    //100 200 300 400 500
}

정답

 

el

11. 다음을 보고 리턴값을 생략하여 한줄로 표현하시오!

{
    const func = str => {
        return str;
    }
}

정답

 

const str = str => str;

12. 다음의 결괏값을 보고 빈 칸을 채우시오.

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

    for(let index of _____ ){
        document.write(index);
    }

    //결과값
    //100 200 300 400 500
}

정답

 

num

13. 다음의 결괏값을 보고 빈 칸을 채우시오.

{
    function func(){
        let i = 5, j = 4, k = 1, l, m;
        l = i > 5 || j != 0;
        m = j <= 4 && k < 1;
        document.write(l);
        document.write(m);
    }
    func();
}

정답

 

true

false

오답노트

||는 논리합 연산자로, 둘 중 하나라도 참이면 참을 반환합니다.

&&는 논리곱 연산자로, 둘 다 참이어야 참을 반환합니다.

변수 i는 5이므로 i > 5는 거짓입니다. 변수 j는 4이므로 j != 0은 참입니다.

따라서, l은 true가 됩니다.

변수 j는 4이므로 j <= 4는 참입니다.

변수 k는 1이므로 k < 1은 거짓입니다.

따라서, m은 false가 됩니다.

따라서, 이 코드를 실행하면 l에는 1(true)이, m에는 0(false)이 출력됩니다.

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

{
    const arr = [100, 200, 300, 400, 500];
    const text = arr.push(600);

    document.write(arr);

    const arr2 = [100, 200, 300, 400, 500];
    const text2 = arr2.unshift(600);

    document.write(arr2);
}

정답

 

100,200,300,400,500,600

600,100,200,300,400,500

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

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

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

정답

 

a

b

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

{
    let num = 0;

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

정답

 

0

오답노트

조건문이 false이므로 아예 while문이 실행되지 않습니다.

그래서 출력되는 것은 num값만 출력되므로 0입니다.

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

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

    console.log(result, a, b)
}

정답

 

4, 7, 4

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

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

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

정답

 

8

2

7

4

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

{
    let data = [70, 80, 75, 60, 90];
    let best = 0;
    let score = 0;

    for(let i=0; i<data.length; i++){
        if(data[i]>80) {
            best++;
        }
        if(score < data[i]) {
            score = data[i];
        }
    }

    console.log(best, score)
}

정답

 

1, 90

오답노트

if문을 이용하여 각 요소가 80보다 크면 best 변수를 1증가시킵니다.

그리고 score보다 크다면 score에 해당 요소 값을 할당합니다.

data에서 80보다 큰 값은 90 한 개 이므로 1이 되고,

score는 초기값 0으로 되어 반복문이 처음 실행될 때 70보다 큰 80이 됩니다.

그 다음 반복에서 80보다 큰 90이 되고 반복문이 종료될 때 까지 가장 큰 값인 90을 유지하게 됩니다.

 

 

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

{
    function func(num1, num2){
        if(num1 > num2) return num1
        else return num2
    }
    console.log(func(10, 23) + func(40, 50))
}

정답

 

73

오답노트

func(10, 23)은num110, num223인 상태에서 호출됩니다.

if 조건문에서 num1num2보다 작기 때문에 else 부분이 실행되어 num223이 반환됩니다.

func(40, 50)num140, num250인 상태에서 호출됩니다.

if 조건문에서 num1num2보다 작기 때문에 else 부분이 실행되어 num250이 반환됩니다.

따라서 23+50 = 73이 나옵니다.