๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Frontend/JavaScript

[ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JavaScript) ] typeof ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

by YWTechIT 2021. 11. 3.
728x90

๐Ÿ“ typeof ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

โ typeof ์—ฐ์‚ฐ์ž

  1. typeof ์—ฐ์‚ฐ์ž๋Š” ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด 7๊ฐ€์ง€ ๋ฌธ์ž์—ด string, number, boolean, undefined, symbol, object, function ์ค‘ ํ•œ ๊ฐœ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. null์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†์œผ๋ฉฐ, ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ function์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  2. typeof(null)์˜ ๊ฒฐ๊ด๊ฐ’์€ null์ด ์•„๋‹ˆ๋ผ object๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ ์ฃผ์˜ํ•˜์ž. ์ด๊ฒƒ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์˜ ๋ฒ„๊ทธ๋‹ค.(typeof null์˜ ์—ญ์‚ฌ) ํ•˜์ง€๋งŒ ๊ธฐ์กด ์ฝ”๋“œ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„์ง๊นŒ์ง€ ์ˆ˜์ •๋˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค. ๋งŒ์•ฝ, null ํƒ€์ž…์ธ์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ผ์น˜ ์—ฐ์‚ฐ์ž(===)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธํ•˜์ž.
  3. ์„ ์–ธํ•˜์ง€ ์•Š์€ ์‹๋ณ„์ž๋ฅผ typeof ์—ฐ์‚ฐ์ž๋กœ ์—ฐ์‚ฐํ•ด๋ณด๋ฉด ReferenceError๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  undefined๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
728x90
typeof ('') // string
typeof (1) // number
typeof (NaN) // number
typeof (true) // boolean
typeof (undefined) // undefined
typeof (Symbol()) // symbol
typeof (null) // object
typeof ([]) // object
typeof ({}) // object
typeof (new Date()) // object
typeof (/test/gi) // object
typeof (function(){}) // function

let a = null
a === null // true

typeof(nothing) // undefined

reference

1. ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋”ฅ ๋‹ค์ด๋ธŒ

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€