코딩 공부/오답노트

자바스크립트 테스트 (3)

천서리 2023. 3. 17. 11:27
QUOTE THE DAY

“ 당신이 6개월 이상 한 번도 보지 않은 코드는 다른 사람이 다시 만드는 게 훨씬 더 나을 수 있다. ”

- 이글슨 (Eagleson)
반응형

자바스크립트 테스트

오늘 본 자바스크립트 테스트 문제와 정답을 정리하고 틀린 문제는 풀이를 해보자

 


 

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
 
 

오답

i가 1에서 10까지 2씩 증가해서 1,3,5,7,9가 나온다. 이걸 다 더하면 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


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

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

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


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

{
    if( num == 100 ){
        document.write("true");
    } else {
    	document.write("false");
    }
}
😎결과 확인하기
(num ==100)?document.write("true"):document.write("false")


오답

삼항 연산자(조건 연산자)의 공식

(조건) ? true일 때 실행할 명령 : false일 때 실행할 명령

 

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

{
    for(var i=1; i<=1; i++){
        document.write(i);
        for(var j=1; j<=5; j++){
            document.write(j);
        }
    }
}
😎결과 확인하기
1 12345


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

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

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

    //100 200 300 400 500
}
😎결과 확인하기
num[i]


오답

결과값이 100 200 300 400 500이 되려면 배열 num[i]를 불러와야 한다.

 

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 func = 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


오답

l = i > 5 || j ! = 0; 은 논리 OR 연산자를 사용하여 i가 5보다 크거나 j가 0이 아닌 경우 true를 반환하고 그렇지 않은 경우에는 false를 반환한다. i>5 는 false이지만 j ! = 0 이 true가 되므로 결과값은 true가 된다.

m= j <= 4 && k < 1; 은 AND 연산자를 사용하여 j가 4보다 작거나 또는 k가 1보다 작은 경우 true를 반환하고 그렇지 않은 경우 false를 반환한다.  j<=4는 true이고 k<1은 false이기 때문에 값은 false가 된다.

 

논리 OR(||)연산자

주어진 두 개의 피연산자 중 하나라도 true이면 결과가 true가 되는 이항 연산자. 만약 두 개의 피연산자 모두 false이면 결과는 false가 된다.

논리 AND(&&)연산자

주어진 두 개의 피연산자 모두 true이면 결과가 true가 되는 이항 연산자. 만약 두 개의 피연산자 중 하나라도 false이면 결과는 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


오답

push() : 배열의 끝에 하나 이상의 요소를 추가한다.

unshift() : 맨 앞에 하나 이상의 요소를 추가한다. 

 

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


오답

while 조건식에 false가 지정되어 있어서 num의 초기값인 0이 유지된다. 그래서 console.log 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


오답

1. 선언한 변수 best 와 score를 각각 0으로 초기화한다.

2. 현재 요소의 값이 80보다 큰 경우 best 변수의 값을 1 증가시킨다.

3. 현재 요소의 값이 score 변수보다 큰 경우 score 변수에 현재 요소의 값을 대입한다.

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

{
    function func(num1, num2){
        if(num1 > num2) return num1
        else return num2
    }
    console.log(func(10, 23) + func(40, 50))
}
😎결과 확인하기
73
 
 

오답

num1>num2 이 true면 num1을 반환하고 false면 num2를 반환한다.

10>23은 false이기 때문에 23을 반환하고 40>50도 false이기 때문에 50을 반환한다.

그래서 23+50 은 73이다.

반응형
Adventure Time - BMO