# ๋ณ€์ˆ˜(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

์˜ˆ์•ฝ์–ด : ์–ธ์–ด์—์„œ ๋ฏธ๋ฆฌ ์ง€์ •ํ•ด๋†“์€ ํ‚ค์›Œ๋“œ, ๋‹จ์–ด