문제풀이

자바스크립트 문제 3 풀이

이미사용 2023. 3. 17. 11:30
명언
-
728x90
반응형

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 } = _______;     //상수 obj에서 가져온 것이기 때문에 obj라고 씁니다.

    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 = {______, ______} //상수 spread에 상수 objA값과와objB값을를 넣어줘야 합니다.  값을 넣을때는 앞에...을 넣어야 합니다.

    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문을 삼항 연산자로 변경하시오

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

답:(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);
        }
    }
}

답: 1123456

 

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

답: truefalse

풀이: 변수에 i = 5, j = 4, k=1 과 l,m; 값이 있을때

l = i(5) > 5 가 맞을때 또는 j(4) != 0;  4는0이아닐때 (!=)  트루값을 가져옵니다. 그러므로 둘중 하나라도 맞으면 트루입니다.

m= j(4) <= 4 가 맞고, k(1) < 1; 일때; 트루값을 가져옵니다. 그러므로 둘다 맞아야 트루값을 가져옵니다.

l은 첫번째식은 다르지만 두번째식이 맞기 때문에 트루가 나오고

m은 첫번째식이 맞지만 두번째 식이 다르기 때문에 펄스가 나옵니다.

 

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

답: 100200300400500600

      600100200300400500

풀이:배열메서드 의 push()와  unshift()입니다.

push(추가데이터)는 배열 마지막 요소에 추가 하고, pop()은 마지막 요소를 제거 합니다.

unshift(추가데이터) 배열 처음요소에 요소를 추가 하고, shift()배열 처음요소에 요소를 제거 합니다.

 

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문은 조건이 맞지 않으면 실행이 안됩니다. 그러므로 while의 조건문이 false는 거짓이므로 실행이 되지않습니다 만약 true면 실행이 됩니다.

 

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

풀이:

i가 0일때 i<data.length가맞으면 i+1을하여 반복한다

첫번째 조건문 if는 data안에 값이 80보다 클때 변수값 bset의 값을 +1 해줍니다.

80보다 큰수는 90하나뿐 이라서 1 입니다.

두번째 조건문 if는 data안에 값이 score보다 클때 score에 그값을 넣어줍니다.

그렇게 반복 하게 되면 제일큰수 90이 나옵니다.

그래서 1,90이 나옵니다.

 

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

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

답:73