본문 바로가기
퀴즈

자바스크립트 쪽지 시험(3)

by dongjin6539 2023. 3. 17.
728x90
반응형

자바스크립트 쪽지 시험(3)

 

길라잡이

  • 수업시간에 배운 자바스크립트를 간단하게 테스트합니다. 제대로 배웠는지 간단하게 테스해보세요!

 

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

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

함수가 실행되었습니다.

 

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

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

함수가 실행되었습니다.

 

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

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

25

 

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

{
    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

 

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

{
    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

 

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

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

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

false, "", 0, null, undefined

 

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

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

 

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

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

112345

 

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

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

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

    //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

 

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

 

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

 

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

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

73

 

참고

https://webstoryboy.tistory.com/1861

https://dongjin6539.github.io/web2023/javascript/index.html

 

 

오답노트

총 20문제 중 틀린 문제는 7문제 65점입니다...

커트라인 70점.... 토요일 보충수업..ㅠㅠ

틀린 문제는 5번, 7번, 13번, 14번, 16번, 1번, 19번 

 

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

{
    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
}
  • 문제 풀이

1) 위 문제는 자바스크립트에서 객체의 데이터를 불러오는 객체 펼침 연산자입니다.

2) 펼침 연산자는 자바스크립트에서 배열, 객체, 문자열 등의 요소를 펼쳐서 개별 요소로 분리하는 연산자입니다.

3) 펼침 연산자를 입력할 때에는 객체에 지정된 변수 앞에 ...을 붙여서 입력합니다.

 

...objA, ...objB

 

 

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

{
    let num = 100;
    
    if( num == 100 ){
        document.write("true");
    } else {
    	document.write("false");
    }
}
  • 문제 풀이

1) if문은 삼항 연산자로 변경해서 간단하게 입력이 가능합니다.

 

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

 

 

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();
}
  • 문제 풀이

1) 위 문제는 계산 문제로 true와 false를 구분해주면 됩니다.

2) 변수 i의 값은 5, j의 값은 4, k의 값은 1입니다. 

3) 변수 l의 값은 i가 5보다 크지 아니므로 false, j는 0과 같지 않으므로 true입니다.

4) ||는 OR연산자이기 때문에 l의 값은 true입니다.

5) 변수 m의 값은 j는 4이하 이므로 true, k는 1보다 작지 않으므로 false입니다.

6) &&는 AND연산자이기 때문에 m의 값은 false입니다.

 

true, 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);
}
  • 문제 풀이

1) 배열 객체에 관한 문제입니다.

2) push( )는 배열 마지막 요소에 요소를 추가하는 속성입니다.

3) unshift( )는 배열 처음 요소에 요소를 추가하는 속성입니다.

 

100, 200, 300, 400, 500, 600

600, 100, 200, 300, 400, 500

 

 

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

{
    let num = 0;

    while(false){
        num++;
        if( num == 3 ){
            continue;
        };
        if( num > 6 ){
            break;
        };
    };
    console.log(num);
}
  • 문제 풀이

1) 변수 num의 값이 0으로 저장되어있습니다.

2) while문으로 실행시키려고 합니다.

3) while문의 조건식이 false이므로 조건문이 실행되지 않습니다.

 

0

 

 

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);
}
  • 문제 풀이

1) 각 변수의 값이 저장되어있습니다.

2) 변수 result를 실행할 때 ++a는 전치 연산자이므로 실행되서 값이 2, b++는 후치 연산자이므로 실행되지 않아서 값이 2, ++c는 전치 연산자 이므로 실행되서 값이 4입니다. 후치 연산자는 '='보다 우선순위가 낮아서 먼저 실행되지 않습니다.

3) 변수 a는 ++a 전치 연산자가 실행되서 값은 2입니다.

4) 실행문 b+c 중 변수 b는 b++ 후치 연산자가 실행되서 값이 3, 변수 c는 ++c 전치 연산자가 실행되서 값이 4이므로 b+c의 값은 7입니다.

5) 변수 c는 ++c 전치 연산자가 실행되서 값은 4입니다.

 

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) 변수 data의 값을 배열로 70, 80, 75, 60, 90으로 저장되어있습니다.

2) 변수 best와 변수 score의 값은 0으로 저장되어있습니다.

3) for 반복문을 사용하여 data 배열을 반복합니다. 반복문의 변수 i가 0으로 시작하여 배열 data의 길이보다 작을때까지 증가합니다.

4) 반복문 내에서 첫 번째 if 문은 data[i]가 80보다 큰지 확인합니다. data[i]가 80보다 크면 best 변수를 증가시킵니다.

5) 두 번째 if 문은 현재 data[i] 값이 score 변수보다 큰지 확인합니다. data[i]가 score보다 크면 score 변수에 data[i] 값을 할당합니다.

6) for 루프가 종료되면 best와 score 변수를 출력합니다.

7) 이 코드를 실행하면 콘솔에 1 90이 출력됩니다. best 변수는 80보다 큰 값이 하나밖에 없으므로 1이 되며, score 변수는 data 배열에서 가장 큰 값인 90이 됩니다.

 

1, 90

 

 

참고

https://webstoryboy.co.kr/1861

728x90
반응형