๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ - ๊ธฐ๋ณธ

by ํฌ๊ตฌ๋ฆฌ 2021. 1. 26.

๐Ÿ“Œ ํ‚ค์›Œ๋“œ

ํ‚ค์›Œ๋“œ๋Š” ํŠน๋ณ„ํ•œ ์˜๋ฏธ๊ฐ€ ๋ถ€์—ฌ๋œ ๋‹จ์–ด๋‹ค.

ex) break, if, else, true, false, null, return, var ,void ๋“ฑ

 

๐Ÿ“Œ ์‹๋ณ„์ž

์‹๋ณ„์ž๋Š” ์ด๋ฆ„์„ ๋ถ™์ผ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์–ด๋‹ค.

 

์‹๋ณ„์ž ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.
  • ํŠน์ˆ˜ ๋ฌธ์ž๋Š” '_'์™€ '$'๋งŒ ํ—ˆ์šฉ๋œ๋‹ค.
  • ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.
  • ๊ณต๋ฐฑ์€ ์ž…๋ ฅํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

์‹๋ณ„์ž ์ƒ์„ฑ์‹œ ๊ด€๋ก€

  1. ์ƒ์„ฑ์ž ํ•จ์ˆ˜์˜ ์ด๋ฆ„์€ ํ•ญ์ƒ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
  2. ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ์†์„ฑ, ๋ฉ”์†Œ๋“œ์˜ ์ด๋ฆ„์€ ํ•ญ์ƒ ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
  3. ์—ฌ๋Ÿฌ ๋‹จ์–ด๋กœ ๋œ ์‹๋ณ„์ž๋Š” ๊ฐ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ํ•œ๋‹ค.(Camel Case)

๐Ÿ“Œ ์ฃผ์„

ํ”„๋กœ๊ทธ๋žจ์˜ ์ง„ํ–‰์— ์ „ํ˜€ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ์ฝ”๋“œ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ์„ ์„ค๋ช…ํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

๋ฐฉ๋ฒ• ํ‘œํ˜„
ํ•œ ์ค„ ์ฃผ์„ ์ฒ˜๋ฆฌ // ์ฃผ์„ ๋‚ด์šฉ
์—ฌ๋Ÿฌ ์ค„ ์ฃผ์„ ์ฒ˜๋ฆฌ /* ์ฃผ์„ ๋‚ด์šฉ */

 

๐Ÿ“Œ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•

1. ์ˆซ์ž

์—ฐ์‚ฐ์ž ์„ค๋ช…
+ ๋ง์…ˆ ์—ฐ์‚ฐ์ž
- ๋บ„์…ˆ ์—ฐ์‚ฐ์ž
* ๊ณฑ์…ˆ ์—ฐ์‚ฐ์ž
/ ๋‚˜๋ˆ—์…ˆ ์—ฐ์‚ฐ์ž
% ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž

โ€ป ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž์™€ ๋ถ€ํ˜ธ

๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž์˜ ๋ถ€ํ˜ธ๋Š” ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋ถ€ํ˜ธ๋ฅผ ๋”ฐ๋ฅธ๋‹ค. (์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋ถ€ํ˜ธ๋Š” ์ „ํ˜€ ์ƒ๊ด€์—†๋‹ค!)

console.log(4 % 3)   // 1
console.log(-4 % 3)  // -1
console.log(4 % -3)  // 1
console.log(-4 % -3) // -1

 

2. ๋ฌธ์ž์—ด

๋ฌธ์ž์˜ ์ง‘ํ•ฉ์„ ๋ฌธ์ž์—ด์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ํ•œ ๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋œ ๊ฒƒ(ex 'a')๋„ ๋ฌธ์ž์—ด๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค.

โ€ป ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž

์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž ์„ค๋ช…
๏ผผt ์ˆ˜ํ‰ ํƒญ
๏ผผn ์ค„๋ฐ”๊ฟˆ
๏ผผ' ์ž‘์€๋”ฐ์˜ดํ‘œ
๏ผผ'' ํฐ๋”ฐ์˜ดํ‘œ
๏ผผ๏ผผ ์—ญ์Šฌ๋ž˜์‹œ

 

โ€ป ๋ฌธ์ž์—ด์— ์‚ฌ์šฉ๋˜๋Š” ์—ฐ์‚ฐ์ž

์—ฐ์‚ฐ์ž ์„ค๋ช…
+ ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž
๋ฌธ์ž์—ด[์ˆซ์ž] ๋ฌธ์ž ์„ ํƒ ์—ฐ์‚ฐ์ž

 

โ€ป ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด(ECMAScript6)

ECMAScript6๋ถ€ํ„ฐ๋Š” ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด์€ ` ๊ธฐํ˜ธ๋กœ ์ƒ์„ฑํ•œ๋‹ค.

ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด์€ ์ƒ์„ฑ ์ดํ›„์—๋Š” ์ผ๋ฐ˜ ๋ฌธ์ž์—ด๊ณผ ๋˜‘๊ฐ™์ด ์ทจ๊ธ‰๋œ๋‹ค.

 

๋˜ํ•œ ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด์€ ์ƒ์„ฑํ•  ๋•Œ ๋‚ด๋ถ€์— ${ํ‘œํ˜„์‹}์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚ด๋ถ€์— ${ํ‘œํ˜„์‹}์„ ์ž…๋ ฅํ•˜๋ฉด ํ‘œํ˜„์‹์ด ๊ณ„์‚ฐ๋˜์–ด ๋ฌธ์ž์—ด์— ๋“ค์–ด๊ฐ„๋‹ค.

`์•ˆ๋…•ํ•˜์„ธ์š”` // ์•ˆ๋…•ํ•˜์„ธ์š”

`52 + 273 = ${52 + 273}` // '52 + 273 = 325'

`์˜ฌํ•ด๋Š” ${new Date().getFullYear()}๋…„์ž…๋‹ˆ๋‹ค.` // '์˜ฌํ•ด๋Š” 2021๋…„์ž…๋‹ˆ๋‹ค.'

 

๐Ÿ“Œ ๋ถˆ(Bool)

์ฐธ๊ณผ ๊ฑฐ์ง“์œผ๋กœ ํ‘œํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. → true / false

 

โ€ป ๋น„๊ต ์—ฐ์‚ฐ์ž

์—ฐ์‚ฐ์ž ์„ค๋ช…
== ๊ฐ™๋‹ค.
!= ๋‹ค๋ฅด๋‹ค.
> ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ํฌ๋‹ค.
< ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ํฌ๋‹ค.
>= ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.
<= ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.

์ถ”๊ฐ€๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ๋ฌธ์ž์—ด์—๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฌธ์ž์—ด์€ ์‚ฌ์ „ ์ˆœ์„œ์—์„œ ์•ž์— ์žˆ๋Š” ๋ฌธ์ž์—ด์ด ์ž‘์€ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค. ex) "๊ฐ€๋‚˜" < "๋‹ค๋ผ"

 

โ€ป ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

์—ฐ์‚ฐ์ž ์„ค๋ช…
! ๋…ผ๋ฆฌ ๋ถ€์ • ์—ฐ์‚ฐ์ž
|| ๋…ผ๋ฆฌํ•ฉ ์—ฐ์‚ฐ์ž(OR)
&& ๋…ผ๋ฆฌ๊ณฑ ์—ฐ์‚ฐ์ž(AND)

 

๐Ÿ“Œ ๋ณ€์ˆ˜

๋ณ€์ˆ˜๋Š” ๊ฐ’์„ ์ €์žฅํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์‹๋ณ„์ž๋‹ค. 

์ˆซ์ž๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ์ž๋ฃŒํ˜•์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

let ์‹๋ณ„์ž;

let pi;
pi = 3.141592;

let pi = 3.141592;

1. ๋ณ€์ˆ˜ ์„ ์–ธํ•˜๊ธฐ - let

  • ๋ฐ์ดํ„ฐ ๊ฐ’์— ์ด๋ฆ„์„ ์ง€์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๋ฐ˜๋ณต ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • ๊ฐ’ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ cf) ๋ฐ์ดํ„ฐ ๊ฐ’์˜ ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ → const
// ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™” ์ƒ๋žต - ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐํ™”๋Š” ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ƒ๋žต ์‹œ ๊ฐ’์œผ๋กœ 'undefined'๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
let value;
console.log(value); // undefined

// ํ•œ๊บผ๋ฒˆ์— ๋ณ€์ˆ˜ ์„ ์–ธํ•˜๊ธฐ - ์ฝค๋งˆ(,)๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉด 'let'ํ•˜๋‚˜์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.
let a = 1,
	b = 2,
    c;
console.log(a + b); // 3
console.log(c);     // undefined

 

๐Ÿ“Œ ๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž

๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋Š” ์ž๋ฃŒํ˜•์— ์ ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ์—ฐ์‚ฐ์ž์™€ '='์—ฐ์‚ฐ์ž๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฐ์‚ฐ ๋ฐ ๋Œ€์ž…์„ ๋™์‹œ์— ์ง„ํ–‰ํ•œ๋‹ค.

์—ฐ์‚ฐ์ž ์„ค๋ช…
+= ์ˆซ์ž ๋ง์…ˆ ํ›„ ๋Œ€์ž… ์—ฐ์‚ฐ์ž(๋ฌธ์ž์—ด๋„ ๊ฐ€๋Šฅ!)
-= ์ˆซ์ž ๋บ„์…ˆ ํ›„ ๋Œ€์ž… ์—ฐ์‚ฐ์ž
*= ์ˆซ์ž ๊ณฑ์…ˆ ํ›„ ๋Œ€์ž… ์—ฐ์‚ฐ์ž
/= ์ˆซ์ž ๋‚˜๋ˆ—์…ˆ ํ›„ ๋Œ€์ž… ์—ฐ์‚ฐ์ž

์ด์™ธ์—๋„ '**=', '%='๊ฐ€ ์žˆ๋‹ค.

๐Ÿ“Œ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž

์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋Š” ๋‹จํ•ญ ์—ฐ์‚ฐ์ž๋กœ ๋ณ€์ˆ˜ ์•ž๊ณผ ๋’ค์— ++ ๊ธฐํ˜ธ์™€ -- ๊ธฐํ˜ธ๋ฅผ ๋ถ™์—ฌ ๋งŒ๋“ ๋‹ค.

์—ฐ์‚ฐ์ž ์„ค๋ช…
๋ณ€์ˆ˜++ ๊ธฐ์กด ๋ณ€์ˆ˜ ๊ฐ’์— 1์„ ๋”ํ•œ๋‹ค.(ํ›„์œ„)
++๋ณ€์ˆ˜ ๊ธฐ์กด ๋ณ€์ˆ˜ ๊ฐ’์— 1์„ ๋”ํ•œ๋‹ค.(์ „์œ„)
๋ณ€์ˆ˜-- ๊ธฐ์กด ๋ณ€์ˆ˜ ๊ฐ’์— 1์„ ๋บ€๋‹ค.(ํ›„์œ„)
--๋ณ€์ˆ˜ ๊ธฐ์กด ๋ณ€์ˆ˜ ๊ฐ’์— 1์„ ๋บ€๋‹ค.(์ „์œ„)

 

๐Ÿ“Œ ์ž๋ฃŒํ˜• ๊ฒ€์‚ฌ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ ์ž๋ฃŒํ˜•์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ, ์–ด๋–ค ์ž๋ฃŒํ˜•์ด ๋ณ€์ˆ˜์— ๋“ค์–ด๊ฐ”๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ž๋ฃŒํ˜• ๊ฒ€์‚ฌ๋ฅผ ํ•ด์•ผํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค.

 

์ž๋ฃŒํ˜• ๊ฒ€์‚ฌ๋Š” 'typeof' ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

typeof(10)              // 'number'
typeof("๋ฌธ์ž์—ด")        // 'string'
typeof(true)           // 'boolean'
typeof(function() { }) // 'function'
typeof({})             // 'object'
typeof(alpha)          // 'undefined'

 

๐Ÿ“Œ undefined ์ž๋ฃŒํ˜•

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ '์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ๊ฒƒ'์„ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒํ˜•์œผ๋กœ undefined๊ฐ€ ์žˆ๋‹ค.

๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ–ˆ์œผ๋‚˜ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ ๋‚˜ํƒ€๋‚œ๋‹ค.

> let a
undefined

 

๐Ÿ“Œ ๊ฐ•์ œ ์ž๋ฃŒํ˜• ๋ณ€ํ™˜

์–ด๋–ค ์ž๋ฃŒํ˜•์„ ํŠน์ • ์ž๋ฃŒํ˜•์œผ๋กœ ๊ฐ•์ œ ๋ณ€ํ™˜ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ๋‹ค์Œ์˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

ํ•จ์ˆ˜ ์„ค๋ช…
Number() ์ˆซ์ž๋กœ ์ž๋ฃŒํ˜• ๋ณ€ํ™˜
String() ๋ฌธ์ž์—ด๋กœ ์ž๋ฃŒํ˜• ๋ณ€ํ™˜
Boolean() ๋ถˆ๋กœ ์ž๋ฃŒํ˜• ๋ณ€ํ™˜

1. Number() ํ•จ์ˆ˜์™€ NaN

console.log(Number("1013"));     // 52
console.log(Number("52.273"));   // 52.273
console.log(Number(true));       // 1
console.log(Number(false));      // 0
console.log(Number("์•ˆ๋…•???"));  // NaN

์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์€ ์ˆซ์ž๋กœ ๋ณ€ํ™˜๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ถˆ์— ํ•ด๋‹นํ•˜๋Š” true, false๋Š” ๊ฐ๊ฐ 1, 0์œผ๋กœ ๋ณ€ํ™˜๋œ๋‹ค.

 

์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ž์—ด์„ Number() ํ•จ์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด 'NaN'์„ ์ถœ๋ ฅํ•œ๋‹ค.

NaN์€ 'Not a Number'์˜ ์ค„์ž„๋ง๋กœ '์ˆซ์ž ์ž๋ฃŒํ˜•์ด์ง€๋งŒ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฒƒ'์„ ์˜๋ฏธํ•œ๋‹ค.

โ€ป NaN์ธ์ง€ ํ™•์ธํ•  ๋•Œ๋Š” isNaN() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

2. Boolean() ํ•จ์ˆ˜

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ Boolean() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ 5๊ฐœ์˜ ์š”์†Œ๋Š” false๋กœ ๋ณ€ํ™˜๋œ๋‹ค. (์ด์™ธ์—๋Š” ๋ชจ๋‘ true๋กœ ๋ณ€ํ™˜)

  • 0
  • NaN
  • "" (๋นˆ๋ฌธ์ž์—ด)
  • null
  • undefined

๐Ÿ“Œ ์ž๋™ ์ž๋ฃŒํ˜• ๋ณ€ํ™˜

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ผ๋ถ€ ์ž๋ฃŒํ˜•์„ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

 

1. ์ˆซ์ž์™€ ๋ฌธ์ž์—ด ์ž๋ฃŒํ˜• ์ž๋™ ๋ณ€ํ™˜

์ˆซ์ž์™€ ๋ฌธ์ž์—ด์— '+' ์—ฐ์‚ฐ์ž๋ฅผ ์ ์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ˆซ์ž๊ฐ€ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜๋œ๋‹ค.

console.log(52 + 273);     // 325
console.log("52" + 273);   // 52273
console.log(52 + "273");   // 52273
console.log("52" + "273"); // 52273

2. ๋ถˆ ์ž๋ฃŒํ˜• ์ž๋™ ๋ณ€ํ™˜

'!' ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋ถˆ ์ž๋ฃŒํ˜•์œผ๋กœ ์ž๋™ ๋ณ€ํ™˜๋œ๋‹ค.

โ€ป ! ์—ฐ์‚ฐ์ž๋ฅผ ๋‘ ๋ฒˆ ์‚ฌ์šฉ(!!)ํ•˜๋Š” ๊ฒƒ์€ Boolean() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ํšจ๊ณผ๊ฐ€ ๊ฐ™๋‹ค.

console.log(!!0);                 // false
console.log(!!nan);               // false
console.log(!!"");                // false
console.log(!!null);              // false
console.log(!!undefinedVariable); // false

 

๐Ÿ“Œ ์ผ์น˜ ์—ฐ์‚ฐ์ž

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” '์ž๋ฃŒํ˜•๊นŒ์ง€ ๊ฒ€์‚ฌํ•˜๋Š”' ์ผ์น˜ ์—ฐ์‚ฐ์ž๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

์—ฐ์‚ฐ์ž ์„ค๋ช…
=== ์ž๋ฃŒํ˜•๊ณผ ๊ฐ’์ด ๊ฐ™์€์ง€ ๋น„๊ตํ•œ๋‹ค.
!== ์ž๋ฃŒํ˜•๊ณผ ๊ฐ’์ด ๋‹ค๋ฅธ์ง€ ๋น„๊ตํ•œ๋‹ค.
console.log(`1234 == "1234": ${1234 == "1234"}`);   // 1234 == "1234": true
console.log(`1234 === "1234": ${1234 === "1234"}`); // 1234 === "1234": false

console.log(`0 == "": ${0 == ""}`);   // 0 == "": true 
console.log(`0 === "": ${0 === ""}`); // 0 === "": false

โ€ป '=='์™€ '==='์˜ ์ฐจ์ด์ 

'==' ๋ฅผ ์‚ฌ์šฉํ•œ ๋น„๊ต๋Š” ๋‘ ๋น„๊ต ๋Œ€์ƒ์ด ๋‹ค๋ฅธ ํƒ€์ž…์ด๋ผ๋„ ๋™์ผํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ๋น„๊ตํ•œ๋‹ค.

'==='๋ฅผ ์‚ฌ์šฉํ•œ ๋น„๊ต๋Š” ๋‘ ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์ด ๋‹ค๋ฅด๋ฉด ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋กœ ๊ฐ„์ฃผํ•œ์—ฌ ๋น„๊ตํ•œ๋‹ค. 

'!='์™€ '!==='์˜ ๊ด€๊ณ„๋„ ๋™์ผํ•˜๋‹ค.

 

๐Ÿ“Œ ์ƒ์ˆ˜

ECMAScript6๋ถ€ํ„ฐ const ์ƒ์ˆ˜ ์ƒ์„ฑ ํ‚ค์›Œ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.

const๋Š” ์ƒ์ˆ˜(constant)๋ฅผ ๋งŒ๋“œ๋Š” ํ‚ค์›Œ๋“œ๋‹ค. 

const๋Š” '๋ณ€๊ฒฝํ•˜์ง€ ์•Š์„ ๋Œ€์ƒ'์— ์ ์šฉํ•œ๋‹ค. ex) pi๋ฅผ 3.14๋กœ ๊ณ ์ •ํ•  ๋•Œ ์‚ฌ์šฉ

 

์ƒ์ˆ˜๋Š” 'ํ”„๋กœ๊ทธ๋žจ์„ ์กฐ๊ธˆ ๋” ์ฝ๊ธฐ ์‰ฝ๊ณ , ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ๋งŒ๋“ค๋ ค๊ณ ' ์‚ฌ์šฉํ•œ๋‹ค. 

์ƒ์ˆ˜๋Š” '๋ณ€ํ•˜์ง€ ์•Š์„ ๊ฒƒ'์ด๋ผ๊ณ  ๊ฐ•์ œํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐ„๋‹จํ•œ ํ˜•ํƒœ๋กœ ์ €์žฅํ•œ๋‹ค. 

๋”ฐ๋ผ์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ๋ฏธ์„ธํ•˜๊ฒŒ๋‚˜๋งˆ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

// ์ƒ์ˆ˜ ์„ ์–ธ
const constant = "๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.";
constant = "";

// ์ถœ๋ ฅ
console.log(constant); 
/*
TypeError: Assignment to constant variable' ์˜ค๋ฅ˜ ๋ฐœ์ƒ 
์ƒ์ˆ˜ ๊ฐ’์€ ๋ณ€๊ฒฝํ•˜ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋‹ค.
*/

์ฐธ๊ณ ๋„์„œ

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ
  • ์‹ค๋ฌด์— ๋ฐ”๋กœ ์ ์šฉํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ๋ ˆ์‹œํ”ผ 278

๋Œ“๊ธ€