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

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

by KASSID 2022. 2. 8.

์—ฐ์‚ฐ์ž

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

+ - * /

 

++์—ฐ์‚ฐ์ž

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๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๋Œ“๊ธ€