
๐ JavaScript ์๋ฃํ (Data Type) ์ ๋ฆฌ
์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์๋ ์ฌ๋ฌ ๊ฐ์ง ์๋ฃํ์ ์ ์ฅํ ์ ์๋ค.
์ด๋ฌํ ์๋ฃํ์ ํฌ๊ฒ ์์ ํ์ (Privitive Type)๊ณผ ๊ฐ์ฒด ํ์ (Object Type)์ผ๋ก ๋๋๋๋ฐ,
์ด๋ฒ ๊ธ์์๋ ๊ธฐ๋ณธ์ ์ธ ์์ ํ์ ์ ์ค์ฌ์ผ๋ก ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค.
๐งฎ Number Type
์ซ์๋ฅผ ๋ํ๋ด๋ ์๋ฃํ์ผ๋ก, ์ ์, ์ค์, ์์ ๋ชจ๋ Number ํ์ ์ ํฌํจ๋๋ค.
let num1 = 27;
let num2 = 1.5;
let num3 = -20;
// ์ฌ์น์ฐ์ฐ
console.log(num1 + num2); // 28.5
console.log(num1 - num2); // 25.5
console.log(num1 * num2); // 40.5
console.log(num1 / num2); // 18
console.log(num1 % num2); // ๋๋จธ์ง ์ฐ์ฐ
์ฌ๊ธฐ์๋ ์๋์ ๊ฐ์ ํน์ํ ์ซ์ ๊ฐ๋ ์กด์ฌํ๋ค.
let inf = Infinity; // ๋ฌดํ๋
let mInf = -Infinity; // ์์ ๋ฌดํ๋
let nan = NaN; // ์ฐ์ฐ ์คํจ (Not a Number)
๐ค String Type
๋ฌธ์์ด์ ๋ํ๋ด๋ ์๋ฃํ์ผ๋ก, ์์ ๋ฐ์ดํ ( ' ), ํฐ ๋ฐ์ดํ( " ), ๋ฐฑํฑ( ` )์ ์ฌ์ฉํด์ ์ ์ธํ ์ ์๋ค.
let myName = "๊น์์ฐ";
let myLocation = "์์ธ";
// ๋ฌธ์์ด ์ฐ๊ฒฐ
let introduce = myName + myLocation; // "๊น์์ฐ์์ธ"
// ํ
ํ๋ฆฟ ๋ฆฌํฐ๋ด
let introduceText = `${myName}์ ${myLocation}์ ๊ฑฐ์ฃผํฉ๋๋ค.`;
console.log(introduceText);
// "๊น์์ฐ์ ์์ธ์ ๊ฑฐ์ฃผํฉ๋๋ค."
โ Boolean Type
์ฐธ(true) ๋๋ ๊ฑฐ์ง(false) ๊ฐ์ ๊ฐ์ง๋ ๋ ผ๋ฆฌํ์ด๋ค.
let isSwitchOn = true;
let isEmpty = false;
๐ณ๏ธ Null Type
๊ฐ์ด ์๋ค๋ ๊ฒ์ ์๋์ ์ผ๋ก ์ ์ฅํ ๋ ์ฌ์ฉํ๋ค.
let empty = null;
โ Undefined Type
๋ณ์๋ฅผ ์ ์ธํ์ง๋ง ์์ง ๊ฐ์ ํ ๋นํ์ง ์์ ์ํ๋ฅผ ์๋ฏธํ๋ค.
let none;
console.log(none); // undefined
โ Null vs Undefined ์ฐจ์ด
- null ๐๐ป ๊ฐ๋ฐ์๊ฐ ์๋์ ์ผ๋ก '๊ฐ์ด ์์'์ ์ง์ ํ ๋ ์ฌ์ฉํจ
- undefined ๐๐ป ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๊ฐ์ ๋ฃ์ง ์์ผ๋ฉด ์๋์ผ๋ก ํ ๋น๋จ
let a;
console.log(a); // undefined
let b = null;
console.log(b); // null