๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒŒ | WEB DEV/Vanilla JS

JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (2)_์—ฐ์‚ฐ์ž&ํ•จ์ˆ˜

by KASSID 2022. 2. 8.

๋ชฉ์ฐจ

    728x90

    ์—ฐ์‚ฐ์ž

    ์‚ฌ์น™์—ฐ์‚ฐ

    + - * /

     

    ++์—ฐ์‚ฐ์ž

    C์™€ ๊ฐ™์Œ!

    i++ / ++i

     

    ๋Œ€์ž…์—ฐ์‚ฐ์ž

    = (ํ• ๋‹น)

     

    ๋™๋“ฑ ์—ฐ์‚ฐ์ž(==) ์ผ์น˜ ์—ฐ์‚ฐ์ž(===)

    ๋™๋“ฑ : ๊ฐ’๋งŒ ๋น„๊ต

    ์ผ์น˜ : ๊ฐ’ & ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋น„๊ต (์ด ๋…€์„์„ ์ฃผ๋กœ ์“ฐ์ž!)

     

    ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

    ! : not

    && : and

    || : or

     

    ๋น„๊ต์—ฐ์‚ฐ์ž

    >, <, >=, <=, ==, ===, !=, !==

     

    โ€ป ์ถ”๊ฐ€ tip!

    - NaN๊ณผ์˜ ๋น„๊ต๋Š” !=์„ ์ œ์™ธํ•˜๊ณ  ๋ชจ๋‘ false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

    - ๋นผ๊ธฐ ์—ฐ์‚ฐ์ฒ˜๋Ÿผ number์™€ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•๋ผ๋ฆฌ ๋น„๊ต ์‹œ์— number๋กœ ํ˜•๋ณ€ํ™˜ ํ›„ ๋น„๊ต๊ฐ€ ๋œ๋‹ค.

      (Number()๋ฅผ ์ ์šฉํ•œ๋‹ค.)

      ex) '3' < 5 : true | 'a' < 5 : false (Number('a')๋Š” NaN์ด๊ธฐ ๋•Œ๋ฌธ์— false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.)

    - true > false : true

    - 0 < true : true (0์ด ๋ฌธ์ž์—ด์ด์–ด๋„ ๊ฐ™์€ ๊ฒฐ๊ณผ, true๋ฅผ 1๋กœ ๊ฐ„์ฃผ)

     

    ==๊ณผ ===์˜ ์ฐจ์ด

    == : ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค. (ํ˜•๋ณ€ํ™˜์„ ํ†ตํ•ด ๋‘ ์š”์†Œ๊ฐ€ ๊ฐ™์€ ์ง€๋ฅผ ํŒ๋‹จํ•œ๋‹ค.)

    === : ์ž๋ฃŒํ˜•๊ณผ ๊ฐ’ ๋ชจ๋‘ ๋น„๊ตํ•œ๋‹ค.

     

    console.log((1==true));
    console.log((1===true));
    
    >>> true
    >>> false

     

    !=, !== ์˜ ๊ด€๊ณ„๋„ ์œ„์™€ ๊ฐ™๋‹ค.

    console.log((1!='1'));
    console.log((1!=='1'));
    
    >>> false
    >>> true

    Tip !

    let a = 1
    console.log(1 > 2 && a++==2)
    console.log(a)
    
    --------
    1

    ์œ„์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด a๋Š” 1์ด ์ถœ๋ ฅ๋œ๋‹ค.

    ์ด์œ ๋Š” ๋น„๊ต ์—ฐ์‚ฐ์‹œ ์™ผ์ชฝ๋ถ€ํ„ฐ ์—ฐ์‚ฐ์ด ์‹œ์ž‘๋˜๋Š”๋ฐ

    and์—ฐ์‚ฐ์˜ ๊ฒฝ์šฐ๊ฐ€ ํ•˜๋‚˜๊ฐ€ false๋ผ๋ฉด ๋ฌด์กฐ๊ฑด false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

    ๋”ฐ๋ผ์„œ JS์—์„œ๋Š” ๋ชจ๋“  ์กฐ๊ฑด๋ฌธ์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  false๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉฐ ์ข…๋ฃŒํ•œ๋‹ค.

     

     

    Boolean()

    ๋ณ€์ˆ˜์˜ true/false ํŒ๋‹จ ํ•จ์ˆ˜

    !!๋„ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค.

    console.log(Boolean('a'));
    console.log(!!'a');
    
    >>>true
    >>>true

    โ€ป 0, NaN, undefined, null, '' ์€ ๋ชจ๋‘ false์ด๋‹ค.


    ์กฐ๊ฑด๋ฌธ

    if (์กฐ๊ฑด) {
        ....
    }
    else if (์กฐ๊ฑด) {
        ....
    }
    else {
        ....
    }

    ์ค‘๊ด„ํ˜ธ ์•ˆ์— ํƒญ์„ ํ•˜์ง€ ์•Š์•„๋„ ์ƒ๊ด€ ์—†์Œ

    (์‚ฌ์šฉ์ž์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ํ•˜๋Š” ๊ฒƒ)

     

    switch / case

    switch (๋ณ€์ˆ˜) {
        case ๊ฐ’:
            ....
            break;
        case ๊ฐ’:
            ....
            break;
        default:
            ....
    }

    ํ•จ์ˆ˜

    function ํ•จ์ˆ˜๋ช…(ํŒŒ๋ผ๋ฏธํ„ฐ) {
        ....
    }
    
    () => {...}

     

    ํ•จ์ˆ˜ ์‚ฌ์šฉ

    // 1. ํ•จ์ˆ˜์„ ์–ธ๋ฌธ (; ์•ˆ ๋ถ™์ด๋Š” ๊ฒƒ์ด ๊ด€์Šต)
    function a() {...}
    // 2. ํ•จ์ˆ˜ํ‘œํ˜„์‹
    const b = function() {...};
    // 3. ํ™”์‚ดํ‘œํ•จ์ˆ˜
    const c = () => {...};

    ( ํ•จ์ˆ˜์„ ์–ธ๋ฌธ ;์€ ๋ถ™์—ฌ๋„ ์ƒ๊ด€์—†์Œ! )

     

    โ€ป Arrow function =>

    ํ•จ์ˆ˜ ์„ ์–ธ์„ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋จ!

    ๊ฐ€๋…์„ฑ์€ ๋–จ์–ด์ง€์ง€๋งŒ ๊ฐ„๋‹จํ•จ

    (ํŒŒ์ด์ฌ lambda์™€ ๋น„์Šทํ•œ ๋Š๋‚Œ)

    ์ค‘๊ด„ํ˜ธ ์•ˆ์— return๋งŒ ์กด์žฌํ•  ๊ฒฝ์šฐ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    const f = (x, y) => { returrn x * y; }
    
    const f = (x, y) => x * y;

     

     

    ํ•จ์ˆ˜ ๋ฐ˜ํ™˜

    ํ•จ์ˆ˜์˜ ๋ฆฌํ„ด๊ฐ’์€ undefined๊ฐ€ ๊ธฐ๋ณธ๊ฐ’์ด๋‹ค.

    ๋”ฐ๋ผ์„œ return๊ฐ’์„ ์ง€์ •ํ•˜์ง€์•Š์œผ๋ฉด undefined๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

    ๋Œ“๊ธ€