# ๋ณ์(Variable)
# ์๊ฐ
๋ณ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ์ ๋๋ค. ๋ณ์๋ ๋ณํ๋ ๊ฐ์ ์๋ฏธํ๊ณ ํน์ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ์ฉ๊ธฐ๋ ๊ทธ๋ฆ๊ณผ ๊ฐ์ต๋๋ค. ๋ณํ๋ ๊ฐ์ ์ ์ฅํ๋ ๊ณต๊ฐ์ ๋ณ์๋ผ๊ณ ํฉ๋๋ค. ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ ๋ก์ง์ ๋๋ถ๋ถ์ ๋ณ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ๊ฒ ๋ฉ๋๋ค. ๋จ์ํ ๋ง์ ๋ฑ์ ์ฌ์น ์ฐ์ฐ๋ถํฐ ์์ํ์ฌ ๋ณต์กํ ๋ก์ง์ ๊ณ์ฐ๊น์ง ๋ชจ๋ ๋ณ์๊ฐ ๊ด์ฌํฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์๋ ์๋์ ๊ฐ์ด ์ ์ํ ์ ์์ต๋๋ค.
var a;
์๋ a
๋ผ๋ ๋ณ์๋ฅผ ์ ์ธํ ์ฝ๋์
๋๋ค. ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์๋ฌด ๊ฐ๋ ํ ๋นํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก undefined
๋ผ๋ ์ด๊ธฐ๊ฐ์ ๊ฐ์ง๋๋ค.
# ๋ณ์์ ๊ฐ ํ ๋นํ๊ธฐ
์ผ๋ฐ์ ์ผ๋ก ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๋๋ฉด ๋ณ์ ์์ ์ํ๋ ๊ฐ์ ์ ์ํ ์ ์์ต๋๋ค.
var a;
a = 10;
์ ์ฝ๋๋ a
๋ผ๋ ๋ณ์๋ฅผ ์ ์ํ๊ณ ์ด ๋ณ์์ 10
์ด๋ผ๋ ์ซ์๋ฅผ ํ ๋นํ ์ฝ๋์
๋๋ค. ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฌ๋ฆฌ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์
๋ฌธ์์๊ฒ ์ข์ ์ด์ ๋ ์์ ๊ฐ์ด ๋ณ์์ ํ์
(์ข
๋ฅ)์ ์ ์ํ์ง ์์๋ ์ฝ๋๋ฅผ ์คํํ ๋ ์๋์ผ๋ก ํ์
์ด ๊ฒฐ์ ๋๋ค๋ ์ ์
๋๋ค.
์๋์ ๊ฐ์ด ์ ์ฐํ๊ฒ ์ฝ๋์ ๊ฐ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
var a;
a = 10;
console.log(a); // 10
a = 'hi';
console.log(a); // hi
a = false;
console.log(a); // false
# ๋ณ์๋ช ๊ท์น
๋ณ์๋ช
์ ์์ด์ ํ๊ธ ๋ชจ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ซ์๋ ์ฌ์ฉํ ์๋ ์์ง๋ง ์ซ์๋ก ์์๋์ด์ ์๋ฉ๋๋ค. $
, _
๋ฑ์ ํน์๋ฌธ์๋ฅผ ์ฌ์ฉํ ์ ์๊ณ ๋์๋ฌธ์๊ฐ ๊ตฌ๋ถ๋ฉ๋๋ค.
// ๊ฐ๋ฅํ ๋ณ์๋ช
var myName;
var ๋ด์ด๋ฆ;
var ๋ด์ฒซ๋ฒ์งธ์ด๋ฆ;
var _a;
var $won;
๋ณ์๋ช ์ ์์ฝ์ด (opens new window)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
// ๋ถ๊ฐ๋ฅํ ๋ณ์๋ช
var 1์ด๋ฆ;
var continue;
var function;
# ๋ณ์์ ํ์ ํ์ธํ๊ธฐ - typeof
์์์ ๋ณธ ๊ฒ์ฒ๋ผ a
๋ผ๋ ๋ณ์์ ๊ฐ์ ์ซ์, ๋ฌธ์์ด, ์ง์ ๊ฐ ์์๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ฌ๊ธฐ์๋ ๋คํํ ํ ๋นํ ๊ฐ์ ์ฝ๊ฒ ๊ตฌ๋ถํ ์ ์์์ง๋ง ์ค์ ๋ก ์ฝ๋ฉํ๋ค๋ณด๋ฉด ์๋์ ๊ฐ์ด ์ฝ๊ฒ ํ์
์ ์ถ์ธกํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
<input value="100" />
var divElement = document.querySelector('input').value;
console.log(divElement);
์ด ๋ divElement
๋ณ์์ ํ์
์ ํ์ธํ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
console.log(typeof divElement);
์ด์ฒ๋ผ ๋ณ์์ ํ์ ์ typeof ๋ผ๋ ์์ฝ์ด๋ก ํ์ธํ ์ ์์ต๋๋ค.
TIP
์์ฝ์ด : ์ธ์ด์์ ๋ฏธ๋ฆฌ ์ง์ ํด๋์ ํค์๋, ๋จ์ด
โ Introduction String โ