javascript

Test02

grovy 2023. 3. 10. 16:21
728x90

오늘은 학원에서 시험을 봤어요 같이 풀어보아요 ! 

1번

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

if문안에 null 값이 들어가면 false를 반환해요 ! 

2번

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

123456

3번

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

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

100 200 300 400 500을 반환해요!

str배열을 forEach문이 반복해서 0번배열부터 마지막까지 내용을출력해준다!

4번

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

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

100 200 300 400 500

for of 는 배열안에 값을 반환해요 !  

포인키~ 포오브벨~ 이렇게 외웠어요 ! 

5번

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

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

a  100

b  200

for in 을 통해서 키값만 가져올수있기때문에 ! 

obj [a] 이렇게 값을 받아와야해요 ! 

6번

{
    let num = 0;

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

while문 조건이 true일때의 while문은 break를 만나야 반복을 정지합니다.

num++ 이 초기값 num이 0에서 증가한 상태로 if문을 만나 

1 2 4 5 6 이 실행됩니다 

3은 조건문 num==3일때를 만나 continue ( 초기로돌아가며 아래 코드는 실행안함!) 

7번

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

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

 

123 

for문안에 i 값이 3일때 if문안의 조건 i==3 을 만나 break문 작동 

8번

{
    let num = 0;

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

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

1

while문안에 조건을 따라 n++ 증감한뒤 바로 뒤 if문에서 break만나 1만출력하고 끝!

9번

{
    let num = 100;

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

100

swich문에서 100이라는 값을 case문에 만나 break문을 통해 빠져나온다!

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

매개변수를 받는 함수의 if문 안에 값이 if(2) 이면 true를 반환하는데 direct++은 후처리가 되어 2만출력됨! 햇갈리지말자!

12번

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

for문의 합연산값 5050이 나온다

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
}

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
}

obj 객체를 넣어주면 됨 ! 

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

펼침연산자 ...를 이용하여 spread라는 객체에 a와 b의 합친값을 입력한다.

16번

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

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

t p i r c s a v a j 로 거꾸로 나타남 why? i = 9 부터 감소하였어서 ! 

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

++a => 선처리 2

b++ => 후로 인하여 2

++c => 선처리 4

result = 2+2+4 = 8;

18번

{
    let i = 1;

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

1 2 3 4

while문 밖에서 5 

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

0

sum의값 0을 모든값을 곱하기때문에 0이라는답이나옴!

20번

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

    console.log(result)
}

비트연산자 & 을 통해 2진수연산을 해볼게요 ! 

a = 7 >> 0111

b = 4 >> 0100

a&b  =    0100 >> 4 

console.log(result) 에 찍히는 값은 4입니다.