Strength & Honor


Operator, if, for loop 코드 리뷰 (2)


7. Equality

 
    const stringFive = '5';
    const numberFive = 5;

    // 타입을 무시하는 연산자, 즉 문자열인지 숫자열인지 그 안의 속성이 숫자면 문자열로 정의를 하더라도 자바스크립트는 숫자로 인식함
    console.log(stringFive == numberFive);
    console.log(stringFive != numberFive);

    // 타입을 감안하는 연산자
    console.log(stringFive === numberFive);
    console.log(stringFive !== numberFive);

    const ellie1 = { name: 'ellie'};
    const ellie2 = { name: 'ellie'};
    const ellie3 = ellie1;

    console.log(ellie1 == ellie2); //  ellie1, 과 2 는 서로 다른 Ref 에 할당되므로 상호 다른값으로 간주함
    console.log(ellie1 === ellie2);
    console.log(ellie1 === ellie3);

    // Equalty - puzzler

    console.log(0 == false); // 1 은 true 이고 0 은 false 로 간주, 이에 따라 결과값은 true 가 됨
    console.log(0 === false); // false 는 boolean 타입이지만 0 은 숫자로 간주 즉 서로 다름
    console.log('' == false); // 공백은 false 로 간주되므로 결과값은 true 가 됨
    console.log('' === false); // 공백은 boolean 타입이 아니므로 결과값은 false 가 됨
    console.log(null == undefined); // null 은 정해지지 않은 값이므로 결과는 true 가 됨
    console.log(null === undefined); // 허나 타입은 서로 같지 않기에 결과는 false 가 됨
            

8. Conditional operators: if

                
    // if, else if, else

    const name = 'ellie';
    if ( name === 'ellie') {
        console.log('Welcome, ellie!');
    } else if (name === 'coder') {
        console.log('You are amazing coder');
    } else {
        console.log('unkwnon')
    }
                

9. Ternary operator: ?


    console.log(name === 'ellie' ? 'yes' : 'no'); // 즉 name 이 ellie 라고 물었을때 true 면 yes 를 falise 면 no 를 출력함


10. Switch statement


    const browser = 'IE';
    switch (browser) {
        case 'IE':
            console.log ('Go away!');
            break;
        case 'Chrome':   // case 가 각각 이지만 출력값이 동일할 경우 case 를 동시에 사용하면 된다. 
        case 'Firefox':
            console.log ('Love you!');
            break;   
        default :
            console.log ('Same all!');
            break 
    }
    

11. Loops


    let i = 3;
    while (i > 0) {
        console.log (`while: ${i}`);
        i--;
    }

    do {  // do 는 먼저 대괄호를 실행한 후 나중 while 조건을 체크한다. 즉 위에서 i 가 0 까지 순환을 했는데 현재 i 값이 0 이므로 일단 0 값을 출력한다.
        console.log (`do while: ${i}`);
        i--;
    } while (i > 0);

    for (i = 3; i > 0; i--) {
        console.log(`for: ${i}`);
    }

    for (i = 3; i > 0; i = i - 2) {
        console.log (`ìnline variable for: ${i}`);
    }

    for (let i = 0; i < 10; i++) {
        for (let j = 0; j < 10; j++) {
            console.log (`ì: ${i}, j: ${j}`);
        }
    }

    for (let i = 0; i < 11; i++) {
        if (i % 2 !==0) {
            continue;
        }
        console.log (`q1: ${i}`);
    }

    for (let i = 0; i < 11; i++) {
        if (i > 8) {
            break;
        }
        console.log (`q2: ${i}`);
    }