๐Ÿฎ ์ด๊ฒƒ์ €๊ฒƒ ๊ณต๋ถ€/๐Ÿซง ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

๐Ÿซง ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ ๐Ÿซง

์ง„๋ฐฉ์ด 2025. 3. 12. 11:11

๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜

let - ๋ชจ๋˜ํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ

var - ์˜ค๋ž˜๋œ ๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ

const - ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Œ


์ž๋ฃŒํ˜•

'null' ๊ฐ’

๋‹ค๋ฅธ ์–ธ์–ด - ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ฐธ์กฐ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฐ’, ๋น„์–ด ์žˆ๋Š” ๊ฐ’, ์•Œ ์ˆ˜ ์—†๋Š” ๊ฐ’

'undefined' ๊ฐ’

๊ฐ’์ด ํ• ๋‹น๋˜์ง€ ์•Š์€ ์ƒํƒœ

typeof ์—ฐ์‚ฐ์ž

์ธ์ˆ˜์˜ ์ž๋ฃŒํ˜•์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜

์—ฐ์‚ฐ์ž - typeof x 

ํ•จ์ˆ˜ - typeof(x)


alert, prompt, confirm์„ ์ด์šฉํ•œ ์ƒํ˜ธ์ž‘์šฉ

alert

๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ๋Š” ์ž‘์€ ์ฐฝ์ธ ๋ชจ๋‹ฌ ์ฐฝ์„ ๋„์›€

(๋ชจ๋‹ฌ - ํŽ˜์ด์ง€์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„๊ณผ ์ƒํ˜ธ ์ž‘์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์˜๋ฏธ ๋‚ดํฌ)

prompt

prompt(title, [default])

title - ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค„ ๋ฌธ์ž์—ด

default - ์ž…๋ ฅ ํ•„๋“œ์˜ ์ดˆ๊นƒ๊ฐ’(์„ ํƒ๊ฐ’)

ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๋ฉด ํ…์ŠคํŠธ ๋ฉ”์‹œ์ง€์™€ ์ž…๋ ฅ ํ•„๋“œ, ํ™•์ธ ๋ฐ ์ทจ์†Œ ๋ฒ„ํŠผ์ด ์žˆ๋Š” ๋ชจ๋‹ฌ ์ฐฝ์„ ๋„์›€

์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ ํ•„๋“œ์— ๊ธฐ์žฌํ•œ ๋ฌธ์ž์—ด ๋ฐ˜ํ™˜, ์ž…๋ ฅ ์ทจ์†Œํ•œ ๊ฒฝ์šฐ null ๋ฐ˜ํ™˜

confirm

๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์€ question(์งˆ๋ฌธ)๊ณผ ํ™•์ธ ๋ฐ ์ทจ์†Œ ๋ฒ„ํŠผ์ด ์žˆ๋Š” ๋ชจ๋‹ฌ ์ฐฝ์„ ๋ณด์—ฌ์คŒ

ํ™•์ธ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด true, ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ๋Š” false


ํ˜• ๋ณ€ํ™˜

์ˆซ์žํ˜•์œผ๋กœ ๋ณ€ํ™˜

undefined ์ „๋‹ฌ -> NaN

null ์ „๋‹ฌ -> 0

true and false ์ „๋‹ฌ -> 1๊ณผ 0

string ์ „๋‹ฌ -> ๋ฌธ์ž์—ด์˜ ์ฒ˜์Œ๊ณผ ๋ ๊ณต๋ฐฑ ์ œ๊ฑฐ / ๊ณต๋ฐฑ ์ œ๊ฑฐ ํ›„ ๋‚จ์•„์žˆ๋Š” ๋ฌธ์ž์—ด ์—†์œผ๋ฉด 0, ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๋ฌธ์ž์—ด์—์„œ ์ˆซ์ž ์ฝ์Œ / ๋ณ€ํ™˜์— ์‹คํŒจํ•˜๋ฉด NaN

ex) alert( Number("123z") ); // NaN ("z"๋ฅผ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ์‹คํŒจํ•จ)

๋ถˆ๋ฆฐํ˜•์œผ๋กœ ๋ณ€ํ™˜

์ˆซ์ž 0, ๋นˆ ๋ฌธ์ž์—ด, null, undefined, NaN๊ณผ ๊ฐ™์ด ์ง๊ด€์ ์œผ๋กœ ๋น„์–ด์žˆ๋‹ค๊ณ  ๋А๊ปด์ง€๋Š” ๊ฐ’์€ false

๋ฌธ์ž์—ด "0"๊ณผ " "๊ฐ™์€ ๊ณต๋ฐฑ์€ ๋ถˆ๋ฆฐํ˜•์œผ๋กœ ๋ณ€ํ™˜ ์‹œ true


๊ธฐ๋ณธ ์—ฐ์‚ฐ์ž์™€ ์ˆ˜ํ•™

๋‹จํ•ญ ์—ฐ์‚ฐ์ž +์™€ ์ˆซ์žํ˜•์œผ๋กœ์˜ ๋ณ€ํ™˜

ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ์—” ์ˆซ์žํ˜•์œผ๋กœ์˜ ๋ณ€ํ™˜ ์ผ์–ด๋‚จ

์‰ผํ‘œ ์—ฐ์‚ฐ์ž

์—ฌ๋Ÿฌ ํ‘œํ˜„์‹์„ ์ฝ”๋“œ ํ•œ ์ค„์—์„œ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ

ํ‘œํ˜„์‹ ๊ฐ๊ฐ์ด ๋ชจ๋‘ ํ‰๊ฐ€๋˜์ง€๋งŒ, ๋งˆ์ง€๋ง‰ ํ‘œํ˜„์‹์˜ ํ‰๊ฐ€ ๊ฒฐ๊ณผ๋งŒ ๋ฐ˜ํ™˜๋จ

์‰ผํ‘œ ์—ฐ์‚ฐ์ž์˜ ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„๋Š” ๋งค์šฐ ๋‚ฎ์Œ


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

์ผ์น˜ ์—ฐ์‚ฐ์ž

๋™๋“ฑ ์—ฐ์‚ฐ์ž ==์€ 0๊ณผ ๋นˆ ๋ฌธ์ž์—ด๊ณผ false๋ฅผ ๊ตฌ๋ณ„ํ•˜์ง€ ๋ชปํ•จ

๋™๋“ฑ ์—ฐ์‚ฐ์ž ==์€ null๊ณผ undefined๋ฅผ 

-> ์ผ์น˜ ์—ฐ์‚ฐ์ž ===์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ

๋น„๊ต๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ undefined

undefined๋Š” ํ•ญ์ƒ false ๋ฐ˜ํ™˜


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

์ฒซ ๋ฒˆ์งธ truthy๋ฅผ ์ฐพ๋Š” OR ์—ฐ์‚ฐ์ž '||'

1. ๋ณ€์ˆ˜ ๋˜๋Š” ํ‘œํ˜„์‹์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ชฉ๋ก์—์„œ ์ฒซ ๋ฒˆ์งธ truthy ์–ป๊ธฐ

๊ฐ€์žฅ ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋‚˜์•„๊ฐ€๋ฉฐ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํ‰๊ฐ€ํ•จ

๊ฐ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ถˆ๋ฆฐํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•จ -> ๊ฐ’์ด true์ด๋ฉด ์—ฐ์‚ฐ ๋ฉˆ์ถ”๊ณ  ํ•ด๋‹น ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋ณ€ํ™˜ ์ „ ์›๋ž˜ ๊ฐ’์„ ๋ฐ˜ํ™˜

ํ”ผ์—ฐ์‚ฐ์ž ๋ชจ๋‘๋ฅผ ํ‰๊ฐ€ํ•œ ๊ฒฝ์šฐ(๋ชจ๋“  ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ false๋กœ ํ‰๊ฐ€๋˜๋Š” ๊ฒฝ์šฐ) ๋งˆ์ง€๋ง‰ ํ”ผ์—ฐ์‚ฐ์ž ๋ฐ˜ํ™˜

2. ๋‹จ๋ฝ ํ‰๊ฐ€

์™ผ์ชฝ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ‰๊ฐ€๋ฅผ ์ง„ํ–‰ํ•˜๋Š”๋ฐ, truthy๋ฅผ ๋งŒ๋‚˜๋ฉด ๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์€ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š์€ ์ฑ„ ํ‰๊ฐ€ ๋ฉˆ์ถค

๋‘ ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋ณ€์ˆ˜ ํ• ๋‹น๊ณผ ๊ฐ™์€ ๋ถ€์ˆ˜์ ์ธ ํšจ๊ณผ๋ฅผ ๊ฐ€์ง€๋Š” ํ‘œํ˜„์‹์ผ ๋•Œ ๋ช…ํ™•ํžˆ ๋ณผ ์ˆ˜ ์žˆ์Œ

์ฒซ ๋ฒˆ์งธ falsy๋ฅผ ์ฐพ๋Š” AND ์—ฐ์‚ฐ์ž '&&'

๊ฐ€์žฅ ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋‚˜์•„๊ฐ€๋ฉฐ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํ‰๊ฐ€ํ•จ

๊ฐ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ถˆ๋ฆฐํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•จ -> ๊ฐ’์ด false์ด๋ฉด ์—ฐ์‚ฐ ๋ฉˆ์ถ”๊ณ  ํ•ด๋‹น ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋ณ€ํ™˜ ์ „ ์›๋ž˜ ๊ฐ’์„ ๋ฐ˜ํ™˜

ํ”ผ์—ฐ์‚ฐ์ž ๋ชจ๋‘๋ฅผ ํ‰๊ฐ€ํ•œ ๊ฒฝ์šฐ(๋ชจ๋“  ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ true๋กœ ํ‰๊ฐ€๋˜๋Š” ๊ฒฝ์šฐ) ๋งˆ์ง€๋ง‰ ํ”ผ์—ฐ์‚ฐ์ž ๋ฐ˜ํ™˜

&&์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ||๋ณด๋‹ค ๋†’์Œ


nullish ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž '??'

์—ฌ๋Ÿฌ ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ๊ทธ ๊ฐ’์ด ํ™•์ •๋˜์–ด์žˆ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ

a ?? b

a๊ฐ€ null๋„ ์•„๋‹ˆ๊ณ  Undefine๋„ ์•„๋‹ˆ๋ฉด a / ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ๋Š” b

'??'์™€ '||'์˜ ์ฐจ์ด

|| - ์ฒซ ๋ฒˆ์งธ truthy ๊ฐ’ ๋ฐ˜ํ™˜ / ?? - ์ฒซ ๋ฒˆ์งธ ์ •์˜๋œ ๊ฐ’ ๋ฐ˜ํ™˜


ํ•จ์ˆ˜

ํ•จ์ˆ˜ ์„ ์–ธ

function showMessage() {

    alert('์•ˆ๋…•ํ•˜์„ธ์š”!');

}


ํ•จ์ˆ˜ ํ‘œํ˜„์‹

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ•จ์ˆ˜๋ฅผ ํŠน๋ณ„ํ•œ ์ข…๋ฅ˜์˜ "๊ฐ’"์œผ๋กœ ์ธ์‹ (ํŠน๋ณ„ํ•œ ๋™์ž‘์„ ํ•˜๋Š” ๊ตฌ์กฐ๋กœ ์ทจ๊ธ‰ํ•˜์ง€ ์•Š์Œ)

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์žˆ์–ด์•ผ๋งŒ ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋จ

ํ•จ์ˆ˜๋ฅผ ๋ณต์‚ฌํ•ด ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Œ

๊ฐ’์ฒ˜๋Ÿผ ํ• ๋‹น, ๋ณต์‚ฌ, ์„ ์–ธ ๊ฐ€๋Šฅ

์ฝœ๋ฐฑ ํ•จ์ˆ˜

ํ•จ์ˆ˜๋ฅผ ๊ฐ’์ฒ˜๋Ÿผ ์ „๋‹ฌ

ํ•จ์ˆ˜๋ฅผ ํ•จ์ˆ˜์˜ ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•˜๊ณ , ํ•„์š”ํ•˜๋‹ค๋ฉด ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•œ ๊ทธ ํ•จ์ˆ˜๋ฅผ ๋‚˜์ค‘์— ํ˜ธ์ถœ

ํ•จ์ˆ˜ ํ‘œํ˜„์‹ vs ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ

ํ•จ์ˆ˜ ํ‘œํ˜„์‹ - ์‹ค์ œ ์‹คํ–‰ ํ๋ฆ„์ด ํ•ด๋‹น ํ•จ์ˆ˜์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ํ•จ์ˆ˜ ์ƒ์„ฑ / ์‹คํ–‰ ํ๋ฆ„์ด ํ•จ์ˆ˜์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ๋ณดํ„ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ - ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์ด ์ •์˜๋˜๊ธฐ ์ „์—๋„ ํ˜ธ์ถœ ๊ฐ€๋Šฅ


ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ๊ธฐ๋ณธ

let func = (arg1, arg2, ...argN) => expression