
๐ ๋ณ์ ์ ์ธ
var: ํ๋ฑ๋ฐฉ์
let: ๊ฐ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ ๋ณ์
const: ๊ฐ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ ๋ณ์ (์์ํ)
let age = 25;
const name = "John";
var isStudent = true; // ์ง์
๐ก ๋ฐ์ดํฐํ์
์์ ๋ฐ์ดํฐ ํ์ (Primitive Data Types)
- Number (์ซ์)
- ์ ์์ ๋ถ๋์์์ ์ซ์๋ฅผ ๋ชจ๋ ํํ
let age = 25; // ์ ์ let price = 19.99; // ๋ถ๋์์์ - ํน๋ณํ ๊ฐ๋ค:
- ∞, -∞: 0์ผ๋ก ๋๋๊ฑฐ๋ ๋งค์ฐ ํฐ ์ซ์๋ก ์ธํด ๋ฐ์ํฉ๋๋ค.
- NaN (Not-a-Number == ๋ถ์ ํ): ์ํ์ ์ฐ์ฐ์ด ์คํจํ ๋ ๋ํ๋ฉ๋๋ค (์: ๋ฌธ์์ด์ ์ซ์๋ก ๋๋๋ ค ํ ๋).
- String (๋ฌธ์์ด)
- ํ ์คํธ๋ฅผ ํํํ ๋ ์ฌ์ฉ
- ๋ฌธ์์ด์ ์์ ๋ฐ์ดํ('...'), ํฐ ๋ฐ์ดํ("..."), ๋๋ ๋ฐฑํฑ(...)์ผ๋ก ๊ฐ์๋๋ค.
<aside> <img src="/icons/username_lightgray.svg" alt="/icons/username_lightgray.svg" width="40px" />let name = "Alice"; // ํฐ ๋ฐ์ดํ let greeting = 'Hello!'; // ์์ ๋ฐ์ดํ let message = `Hi, ${name}`; // ํ ํ๋ฆฟ ๋ฆฌํฐ๋ด (๋ฐฑํฑ)- length
- [ ]
- indexOf
- slice
- toLowerCase()
- toUpperCase()
- replace </aside>
let str = "Hello"; str.length; // == len(str) str[0]; str.indexOf("ll") //"ll"์ ์์ ์์น ๋ฐํ. ํฌํจ๋์ง ์์ ๊ฒฝ์ฐ -1 ๋ฐํ str.slice(0, 3) // 0๋ฒ์งธ๋ถํฐ 3๊ฐ์ ๋ฌธ์์ด ์ถ์ถ -> hel str.slice(2) // 2๋ฒ์งธ๋ถํฐ ๋๊น์ง -> llo str.replace("์๋ ๋ฌธ์์ด", "๋์ฒด ๋ฌธ์์ด") - String as objects
- Boolean (๋ถ๋ฆฌ์ธ)
- true ๋๋ false์ ๋ ผ๋ฆฌ ๊ฐ
- ์ฃผ๋ก ์กฐ๊ฑด๋ฌธ๊ณผ ๋น๊ต ์ฐ์ฐ์์ ์ฌ์ฉ
let isAdmin = true; let isLoggedIn = false; - Null (๋)
- ์๋์ ์ผ๋ก ๊ฐ์ด ์์์ ํํ
let emptyValue = null; - Undefined (์ ์๋์ง ์์)
- ๋ณ์๊ฐ ์ ์ธ๋์์ง๋ง ์์ง ๊ฐ์ด ํ ๋น๋์ง ์์์ ๋
let notAssigned; console.log(notAssigned); // undefined
null๊ณผ undefined์ ์ฐจ์ด
๊ณตํต์ : ๊ฐ์ด ์์์ ๋ํ๋
null: ๊ฐ์ด ์์์ ์๋์ ์ผ๋ก ๋ํ๋ ← ๊ฐ๋ฐ์๊ฐ ๋ช ์์ ์ผ๋ก ์ค์
undefined: ๋ณ์๊ฐ ์ ์ธ๋ ํ ๊ฐ์ด ํ ๋น๋์ง ์์
- Symbol (์ฌ๋ณผ)
- ๊ณ ์ ํ๊ณ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ผ๋ก, ์ฃผ๋ก ๊ฐ์ฒด์ ์์ฑ ํค๋ฅผ ์ถฉ๋ ์์ด ์์ฑํ ๋ ์ฌ์ฉ
let uniqueId = Symbol("id");
๋น์์ ๋ฐ์ดํฐ ํ์ (๊ฐ์ฒด ํ์ , Object)
- Object (๊ฐ์ฒด)
- ํค-๊ฐ ์์ ๋ชจ์์ผ๋ก, ๊ฐ์ ์ด๋ค ํ์ ์ด๋ ๊ฐ๋ฅ
let user = { name: "Alice", age: 30, isAdmin: true };- ๊ฐ์ฒด์ ํน๋ณํ ์ข
๋ฅ:
- Array (๋ฐฐ์ด): ๊ฐ์ ์์๊ฐ ์๋ ๋ฆฌ์คํธ๋ฅผ ์ ์ฅํ๋ ํน๋ณํ ํ์ ์ ๊ฐ์ฒด์ ๋๋ค.
- let colors = ["red", "green", "blue"];
- Function (ํจ์): ํธ์ถํ ์ ์๋ ๊ฐ์ฒด๋ก, ํน์ ์์ ์ ์ํํฉ๋๋ค.
| ๋ฐ์ดํฐ ํ์ | ์ค๋ช | ์์ |
| Number | ์ ์์ ๋ถ๋์์์ ์ซ์๋ฅผ ํํ | let age = 25; |
| String | ํ ์คํธ๋ฅผ ํํ (๋ฌธ์์ด) | let name = "Alice"; |
| Boolean | true ๋๋ false์ ๋ ผ๋ฆฌ ๊ฐ์ ํํ | let isAdmin = true; |
| Null | ์๋์ ์ผ๋ก ๊ฐ์ด ์์์ ๋ํ๋ | let value = null; |
| Undefined | ๋ณ์๊ฐ ๊ฐ ์์ด ์ ์ธ๋์์์ ๋ํ๋ | let notAssigned; |
| Symbol | ๊ณ ์ ํ ์๋ณ์ | let id = Symbol("id"); |
| Object | ํค-๊ฐ ์์ ๋ชจ์ | let user = {name: "Alice"}; |
โ ์ฐ์ฐ์
1. ์ฐ์ ์ฐ์ฐ์ (Arithmetic Operators)
์ซ์์ ๋ํด ์ํ์ ์ฐ์ฐ ์ํ
์ฐ์ฐ์ ์ค๋ช ์์ ๊ฒฐ๊ณผ
| + | ๋ง์ | 5 + 3 | 8 |
| - | ๋บ์ | 5 - 3 | 2 |
| * | ๊ณฑ์ | 5 * 3 | 15 |
| / | ๋๋์ | 9 / 3 | 3 |
| % | ๋๋จธ์ง | 9 % 2 | 1 (๋๋จธ์ง) |
| ++ | ์ฆ๊ฐ (1์ฉ ์ฆ๊ฐ) | let x = 5; x++ | 6 |
| -- | ๊ฐ์ (1์ฉ ๊ฐ์) | let y = 5; y-- | 4 |
2. ๋์ ์ฐ์ฐ์ (Assignment Operators)
๋ณ์์ ๊ฐ์ ํ ๋น
| ์ฐ์ฐ์ | ์ค๋ช | ์์ | ๊ฒฐ๊ณผ |
| = | ๊ฐ ํ ๋น | x = 10 | x๊ฐ 10์ด ๋จ |
| += | ๋ํ ํ ํ ๋น | x += 5 | x = x + 5 |
| -= | ๋บ ํ ํ ๋น | x -= 5 | x = x - 5 |
| *= | ๊ณฑํ ํ ํ ๋น | x *= 5 | x = x * 5 |
| /= | ๋๋ ํ ํ ๋น | x /= 5 | x = x / 5 |
| %= | ๋๋จธ์ง๋ฅผ ๊ตฌํ ํ ํ ๋น | x %= 5 | x = x % 5 |
3. ๋น๊ต ์ฐ์ฐ์ (Comparison Operators)
๊ฐ์ ๋น๊ตํ์ฌ ๋ ผ๋ฆฌ์ ์ธ ๊ฒฐ๊ณผ (true ๋๋ false)๋ฅผ ๋ฐํ
| ์ฐ์ฐ์ | ์ค๋ช | ์์ | ๊ฒฐ๊ณผ |
| == | ๊ฐ์ด ๊ฐ์ผ๋ฉด true | 5 == '5' | true |
| === | ๊ฐ๊ณผ ํ์ ์ด ๋ชจ๋ ๊ฐ์ผ๋ฉด true | 5 === '5' | false |
| != | ๊ฐ์ด ๋ค๋ฅด๋ฉด true | 5 != 3 | true |
| !== | ๊ฐ๊ณผ ํ์ ์ด ๋ชจ๋ ๋ค๋ฅด๋ฉด true | 5 !== '5' | true |
| > | ์ผ์ชฝ ๊ฐ์ด ๋ ํฌ๋ฉด true | 5 > 3 | true |
| < | ์ผ์ชฝ ๊ฐ์ด ๋ ์์ผ๋ฉด true | 5 < 3 | false |
| >= | ์ผ์ชฝ ๊ฐ์ด ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด true | 5 >= 5 | true |
| <= | ์ผ์ชฝ ๊ฐ์ด ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด true | 5 <= 5 | true |
4. ๋ ผ๋ฆฌ ์ฐ์ฐ์ (Logical Operators)
๋ ๊ฐ ์ด์์ ์กฐ๊ฑด์ ๊ฒฐํฉํ๊ฑฐ๋ ๋ฐ๋๋ก ๋ง๋ค ๋ ์ฌ์ฉ
| ์ฐ์ฐ์ | ์ค๋ช | ์์ | ๊ฒฐ๊ณผ |
| && | AND ์ฐ์ฐ: ๋ ์กฐ๊ฑด ๋ชจ๋ true์ผ ๋๋ง true | true && false | false |
| || | OR ์ฐ์ฐ: ๋ ์กฐ๊ฑด ์ค ํ๋๋ง true์ฌ๋ true | true || false | true |
| ! | NOT ์ฐ์ฐ: ๊ฐ์ ๋ฐ๋๋ฅผ ๋ฐํ | !true | false |
5. ์ผํญ ์ฐ์ฐ์ (Ternary Operator)
์กฐ๊ฑด์ด true์ธ์ง false์ธ์ง์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฐ์ ๋ฐํ
ํ์: condition ? expr1 : expr2
| ์ฐ์ฐ์ | ์ค๋ช | ์์ | ๊ฒฐ๊ณผ |
| ? : | ์กฐ๊ฑด์ด ์ฐธ์ด๋ฉด ์ฒซ ๋ฒ์งธ ๊ฐ, ๊ฑฐ์ง์ด๋ฉด ๋ ๋ฒ์งธ ๊ฐ | let result = (age > 18) ? "Adult" : "Minor"; | "Adult" ๋๋ "Minor" |
6. ํ์ ์ฐ์ฐ์ (Type Operators)
๊ฐ์ ํ์ ์ ํ์ธํ๊ฑฐ๋ ๊ฐ์ฒด์ ์์ฑ์ ์กฐ์
| ์ฐ์ฐ์ | ์ค๋ช | ์์ | ๊ฒฐ๊ณผ |
| typeof | ๋ฐ์ดํฐ ํ์ ์ ๋ฐํ | typeof 123 | "number" |
| instanceof | ๊ฐ์ฒด๊ฐ ํน์ ํด๋์ค์ ์ธ์คํด์ค์ธ์ง ํ์ธ | date instanceof Date | true |
| new | ์ ๊ฐ์ฒด ์์ฑ | let person = new Object(); | ์๋ก์ด ๊ฐ์ฒด ์์ฑ |
7. ๋นํธ ์ฐ์ฐ์ (Bitwise Operators)
์ซ์๋ฅผ 2์ง์๋ก ๋ณํํ์ฌ ๋นํธ ๋จ์๋ก ์ฐ์ฐ์ ์ํ
| ์ฐ์ฐ์ | ์ค๋ช | ์์ | ๊ฒฐ๊ณผ |
| & | AND | 5 & 1 | 1 |
| | | OR | 5 | 1 | 5 |
| ^ | XOR | 5 ^ 1 | 4 |
| ~ | NOT | ~5 | -6 |
| << | ์ผ์ชฝ ์ํํธ | 5 << 1 | 10 |
| >> | ์ค๋ฅธ์ชฝ ์ํํธ | 5 >> 1 | 2 |
โ๏ธ ์กฐ๊ฑด๋ฌธ
1. if๋ฌธ
๊ตฌ๋ฌธ:
if (์กฐ๊ฑด) {
// ์กฐ๊ฑด์ด ์ฐธ์ผ ๋ ์คํ๋๋ ์ฝ๋
}
์์:
let age = 18;
if (age >= 18) {
console.log("์ฑ์ธ์
๋๋ค.");
}
2. else if๋ฌธ
๊ตฌ๋ฌธ:
if (์กฐ๊ฑด1) {
// ์กฐ๊ฑด1์ด ์ฐธ์ผ ๋ ์คํ๋๋ ์ฝ๋
} else if (์กฐ๊ฑด2) {
// ์กฐ๊ฑด2๊ฐ ์ฐธ์ผ ๋ ์คํ๋๋ ์ฝ๋
}
์์:
let score = 85;
if (score >= 90) {
console.log("A ๋ฑ๊ธ์
๋๋ค.");
} else if (score >= 80) {
console.log("B ๋ฑ๊ธ์
๋๋ค.");
} else {
console.log("C ๋ฑ๊ธ์
๋๋ค.");
}
3. else๋ฌธ
else๋ ๋ชจ๋ if๋ else if ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๋ ์คํ๋ฉ๋๋ค.
๊ตฌ๋ฌธ:
if (์กฐ๊ฑด1) {
// ์กฐ๊ฑด1์ด ์ฐธ์ผ ๋ ์คํ๋๋ ์ฝ๋
} else {
// ์กฐ๊ฑด1์ด ๊ฑฐ์ง์ผ ๋ ์คํ๋๋ ์ฝ๋
}
์์:
let temperature = 10;
if (temperature > 20) {
console.log("๋ ์จ๊ฐ ๋ฐ๋ปํฉ๋๋ค.");
} else {
console.log("๋ ์จ๊ฐ ์ถฅ์ต๋๋ค.");
}
4. switch๋ฌธ
switch๋ฌธ์ ํ๋์ ํํ์ ๊ฐ์ ์ฌ๋ฌ ์ผ์ด์ค์ ๋น๊ตํ์ฌ ์ผ์นํ๋ ๊ฒฝ์ฐ ์ฝ๋๋ฅผ ์คํ
๊ตฌ๋ฌธ:
switch (ํํ์) {
case ๊ฐ1:
// ๊ฐ1๊ณผ ํํ์์ด ์ผ์นํ ๋ ์คํ๋๋ ์ฝ๋
break;
case ๊ฐ2:
// ๊ฐ2์ ํํ์์ด ์ผ์นํ ๋ ์คํ๋๋ ์ฝ๋
break;
default:
// ๋ชจ๋ ์ผ์ด์ค๊ฐ ์ผ์นํ์ง ์์ ๋ ์คํ๋๋ ์ฝ๋
}
์์:
let day = 2;
switch (day) {
case 1:
console.log("์์์ผ");
break;
case 2:
console.log("ํ์์ผ");
break;
case 3:
console.log("์์์ผ");
break;
default:
console.log("์ฃผ๋ง์
๋๋ค.");
}
โฉ ๋ฐ๋ณต๋ฌธ
1. for๋ฌธ
for๋ฌธ์ ๋ฐ๋ณต ํ์๋ฅผ ์๊ณ ์์ ๋ ์ฌ์ฉํ๋ฉฐ, ์กฐ๊ฑด์ด ์ฐธ์ผ ๋์ ๋ฐ๋ณต์ ์ํ
๊ตฌ๋ฌธ:
for (์ด๊ธฐํ; ์กฐ๊ฑด; ์ฆ๊ฐ) {
// ์กฐ๊ฑด์ด ์ฐธ์ผ ๋ ์คํ๋๋ ์ฝ๋
}
์์:
for (let i = 0; i < 5; i++) {
console.log(i); // 0, 1, 2, 3, 4 ์ถ๋ ฅ
์ถ๊ฐ์ ์ผ๋ก, for...of๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์์๋ฅผ ์ํํ ์ ์๋ค.
ex) for (let num of arr)
2. while๋ฌธ
while๋ฌธ์ ์กฐ๊ฑด์ด ์ฐธ์ธ ๋์ ๋ฐ๋ณต์ ์ํํ๋ฉฐ, ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋๋ฉด ๋ฐ๋ณต์ด ์ข ๋ฃ
๊ตฌ๋ฌธ:
while (์กฐ๊ฑด) {
// ์กฐ๊ฑด์ด ์ฐธ์ผ ๋ ์คํ๋๋ ์ฝ๋
}
์์:
let count = 0;
while (count < 5) {
console.log(count);
count++; // 0, 1, 2, 3, 4 ์ถ๋ ฅ
}
3. do...while๋ฌธ
do...while๋ฌธ์ ๋จผ์ ์ฝ๋๋ฅผ ์คํํ ํ ์กฐ๊ฑด์ ๊ฒ์ฌํ์ฌ, ์กฐ๊ฑด์ด ์ฐธ์ด๋ฉด ๋ฐ๋ณต (์ต์ ํ ๋ฒ์ ์คํ)
๊ตฌ๋ฌธ:
do {
// ์ฝ๋ ์คํ
} while (์กฐ๊ฑด);
์์:
let i = 0;
do {
console.log(i);
i++;
} while (i < 5); // 0, 1, 2, 3, 4 ์ถ๋ ฅ
break์ continue
์์ (break):
for (let i = 0; i < 5; i++) {
if (i === 3) {
break; // 3์์ ๋ฐ๋ณต ์ค๋จ
}
console.log(i); // 0, 1, 2 ์ถ๋ ฅ
}
์์ (continue):
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue; // 2๋ ๊ฑด๋๋
}
console.log(i); // 0, 1, 3, 4 ์ถ๋ ฅ
}'Dev > Language' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Java] Maven๊ณผ Gradle (1) | 2024.12.28 |
|---|---|
| [Java] ์ฐ์ฐ์, ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ (0) | 2024.10.01 |
| [JavaScript] ํจ์ | ๋ฐฐ์ด | ๊ฐ์ฒด (1) | 2024.09.30 |
| [Java] ๋ณ์, ์์, ์๋ฃํ (2) | 2024.09.24 |
| [JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ ์ถ๋ ฅํ๋ ๋ฒ์ ์์๋ณด์ ๐คหห (0) | 2024.07.02 |