Coercion
Coercive Type Conversion
๊ฐ์ ๋ณํ์ด ์ ์ฉํ ๊ธฐ๋ฅ์ธ์ง, ์ธ์ด ์ค๊ณ์ ๊ฒฐํจ์ธ์ง๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๋์์ ๋๋ถํฐ ๋ ผ๋ ๊ฑฐ๋ฆฌ์๋ค.
๊ฐ ๋ณํ
์ด๋ค ๊ฐ์ ๋ค๋ฅธ ํ์ ์ ๊ฐ์ผ๋ก ๋ฐ๊พธ๋ ๊ณผ์ ์ด ๋ช ์์ ์ด๋ฉด 'ํ์ ์บ์คํ ', ์์์ ์ด๋ฉด '๊ฐ์ ๋ณํ'
์ถ์ ์ฐ์ฐ
์ด๋ป๊ฒ ๊ฐ์ด ๋ฌธ์์ด, ์ซ์, ๋ถ๋ฆฌ์ธ ๋ฑ์ ํ์ ์ด ๋๋์ง ๊ทธ ๊ธฐ๋ณธ ๊ท์น์ ์์๋ณด์
ToString
์์๊ฐ์ ์์๋๋ก ๊ทธ๋ฅ ๋ฌธ์์ด๋ก ๋ฐ๋๊ณ ๋๋ฌด ์๊ฑฐ๋ ํฐ ์ซ์๋ ์ง์ํํ๋ก ๋ฐ๋๋ค
์ผ๋ฐ ๊ฐ์ฒด๋ ํน๋ณํ ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ToString() ๋ฉ์๋๊ฐ ๋ด๋ถ [[Class]]๋ฅผ ๋ฐํํ๋ค
๋ฐฐ์ด์ ๋ฌธ์์ด ๋ณํ ์ ๋ชจ๋ ์์ ๊ฐ์ด ๊ฐ๊ฐ ๋ฌธ์์ด๋ก ๋ฐ๋ ๋ค ์ฝค๋ง๋ก ๋ถ๋ฆฌ๋ ํํ๋ก ์ด์ด์ง๋ค.
var a = [1, 2, 3]; a.toString(); // "1, 2, 3"
ToNumber
์ซ์ ์๋ ๊ฐ -> ์์ ์ฐ์ฐ์ด ๊ฐ๋ฅํ ์ซ์ ๋ณํ ๋ก์ง์ ToNumber ์ถ์ ์ฐ์ฐ์ ์ ์ ์๋์ด ์๋ค
true๋ 1, false๋ 0, undefined๋ NaN, null์ 0์ผ๋ก ๋ฐ๋
Falsy ๊ฐ
true/false๊ฐ ์๋ ๊ฐ์ ๋ถ๋ฆฌ์ธ์ ์๋นํ ๊ฐ์ผ๋ก ๊ฐ์ ๋ณํํ์ ๋
๋ถ๋ฆฌ์ธ์ผ๋ก ๊ฐ์ ๋ณํํ๋ฉด false๊ฐ ๋๋ ๊ฐ
undefined
null
false
+0, -0, NaN
""
1๋ฒ์ ์ ์ธํ ๋๋จธ์ง
Last updated
Was this helpful?