JavaScript๋ ์น ๊ฐ๋ฐ์์ ๊ฐ์ฅ ์ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค ํ๋๋ก, ์น ํ์ด์ง์ ๋์ ์ธ ๊ธฐ๋ฅ์ ๋ถ์ฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. JavaScript๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ(Syntax)์ ์ดํดํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ค๋์ JavaScript์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ์์๋ณด๋ฉฐ, ์ด๋ฅผ ํตํด ๊ฐ๋จํ ์ฝ๋ ์์ฑ๋ฒ์ ๋ฐฐ์ฐ๊ณ ์ ํฉ๋๋ค.
1. JavaScript ๋ฌธ๋ฒ ๊ธฐ์ด
๋ณ์ ์ ์ธ
JavaScript์์ ๋ณ์๋ฅผ ์ ์ธํ ๋๋ var
, let
, const
ํค์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ ํค์๋์ ์ฌ์ฉ ๋ฐฉ์๊ณผ ํน์ง์ด ์กฐ๊ธ์ฉ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ํฉ์ ๋ฐ๋ผ ์ ์ ํ ํค์๋๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
var
: ํจ์ ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ฌ์ ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค. ํ์ง๋ง ํ์ฌ๋var
๋ณด๋ค๋let
๊ณผconst
์ ์ฌ์ฉ์ด ๊ถ์ฅ๋ฉ๋๋ค.let
: ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ฌํ ๋น์ด ๊ฐ๋ฅํฉ๋๋ค.const
: ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํํด์ผ ํ๋ฉฐ, ์ฌํ ๋น์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค.
var name = "John"; // ํจ์ ์ค์ฝํ, ์ฌ์ ์ธ ๊ฐ๋ฅ
let age = 30; // ๋ธ๋ก ์ค์ฝํ, ์ฌํ ๋น ๊ฐ๋ฅ
const birthYear = 1993; // ๋ธ๋ก ์ค์ฝํ, ์ฌํ ๋น ๋ถ๊ฐ
๋ฐ์ดํฐ ํ์
JavaScript์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ ์๋ ํฌ๊ฒ 7๊ฐ์ง๊ฐ ์์ต๋๋ค.
- String: ๋ฌธ์์ด. ์:
"Hello, World!"
- Number: ์ซ์. ์ ์ ๋ฐ ๋ถ๋ ์์์ ์ ํฌํจํฉ๋๋ค. ์:
42
,3.14
- Boolean: ์ฐธ ๋๋ ๊ฑฐ์ง. ์:
true
,false
- Undefined: ๊ฐ์ด ์ ์๋์ง ์์ ์ํ. ์:
let x;
์์x
๋undefined
์ ๋๋ค. - Null: ๊ฐ์ด ์์์ ๋ํ๋ด๋ ํน์ํ ํค์๋. ์:
let y = null;
- Object: ํค-๊ฐ ์์ ์งํฉ์ ๊ฐ์ง๋ ๊ฐ์ฒด. ์:
{ name: "John", age: 30 }
- Symbol: ๊ณ ์ ํ๊ณ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๋ฐ์ดํฐ ํ์ ์ผ๋ก ๊ฐ์ฒด์ ๊ณ ์ ์์ฑ ํค๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉ๋ฉ๋๋ค.
let message = "Hello"; // String
let number = 100; // Number
let isValid = true; // Boolean
let x; // Undefined
let y = null; // Null
let person = { name: "John", age: 30 }; // Object
let sym = Symbol("id"); // Symbol
์ฐ์ฐ์
JavaScript์์๋ ๋ค์ํ ์ฐ์ฐ์๊ฐ ์์ต๋๋ค. ์ฐ์ฐ์๋ ๊ฐ์ ๊ณ์ฐํ๊ฑฐ๋ ์กฐ์ํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
- ์ฐ์ ์ฐ์ฐ์:
+
,-
,*
,/
,%
๋ฑ - ๋น๊ต ์ฐ์ฐ์:
==
,===
,!=
,!==
,>
,<
,>=
,<=
๋ฑ - ๋
ผ๋ฆฌ ์ฐ์ฐ์:
&&
,||
,!
- ํ ๋น ์ฐ์ฐ์:
=
,+=
,-=
,*=
,/=
let a = 5;
let b = 10;
let sum = a + b; // 15
let isEqual = a === b; // false
let isValid = (a > 0) && (b > 0); // true
2. ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ
์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด๋ฌธ์ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ ์ดํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด๋ฌธ์ if
์ else
์
๋๋ค.
let score = 85;
if (score >= 90) {
console.log("A");
} else if (score >= 80) {
console.log("B");
} else {
console.log("C");
}
๋ฐ๋ณต๋ฌธ
๋ฐ๋ณต๋ฌธ์ ํน์ ์ฝ๋๋ฅผ ์ฌ๋ฌ ๋ฒ ์คํํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. JavaScript์์ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉํ๋ ๋ฐ๋ณต๋ฌธ์ for
, while
์
๋๋ค.
// for loop
for (let i = 0; i < 5; i++) {
console.log(i);
}
// while loop
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
3. ํจ์
ํจ์๋ ํน์ ์์ ์ ์ํํ๋ ์ฝ๋๋ฅผ ๋ฌถ์ด๋์ ๊ฒ์ ๋๋ค. JavaScript์์ ํจ์๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํจ์ ์ ์ธ
function greet(name) {
return "Hello, " + name + "!";
}
console.log(greet("Alice")); // "Hello, Alice!"
ํจ์ ํํ์
ํจ์ ํํ์์ ํจ์๋ฅผ ๋ณ์์ ํ ๋นํ๋ ๋ฐฉ์์ผ๋ก, ์ต๋ช ํจ์(์ด๋ฆ์ด ์๋ ํจ์)๋ ์ด๋ฆ์ด ์๋ ํจ์ ๋ชจ๋ ๊ฐ๋ฅํฉ๋๋ค.
const greet = function(name) {
return "Hello, " + name + "!";
};
console.log(greet("Bob")); // "Hello, Bob!"
ํ์ดํ ํจ์
ES6๋ถํฐ ์ถ๊ฐ๋ ํ์ดํ ํจ์๋ ๊ฐ๊ฒฐํ ๋ฌธ๋ฒ์ผ๋ก ํจ์๋ฅผ ์ ์ํ ์ ์์ต๋๋ค.
const greet = (name) => "Hello, " + name + "!";
console.log(greet("Charlie")); // "Hello, Charlie!"
4. ๊ฐ์ฒด์ ๋ฐฐ์ด
๊ฐ์ฒด
๊ฐ์ฒด๋ ์ฌ๋ฌ ๊ฐ์ ์์ฑ(ํค-๊ฐ ์)์ ๊ฐ์ง ์ ์๋ ๋ฐ์ดํฐ ํ์ ์ ๋๋ค.
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello!");
}
};
console.log(person.name); // "John"
person.greet(); // "Hello!"
๋ฐฐ์ด
๋ฐฐ์ด์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ๋ ๋ฐ์ดํฐ ํ์ ์ ๋๋ค.
let fruits = ["Apple", "Banana", "Cherry"];
console.log(fruits[0]); // "Apple"
fruits.push("Orange"); // ๋ฐฐ์ด์ "Orange" ์ถ๊ฐ
console.log(fruits.length); // ๋ฐฐ์ด์ ๊ธธ์ด ์ถ๋ ฅ
5. ์ค์ฝํ์ ํด๋ก์
์ค์ฝํ
์ค์ฝํ๋ ๋ณ์์ ์ ํจ ๋ฒ์๋ฅผ ์๋ฏธํฉ๋๋ค. JavaScript์๋ ์ ์ญ ์ค์ฝํ์ ์ง์ญ ์ค์ฝํ๊ฐ ์์ต๋๋ค.
let globalVar = "I'm global";
function test() {
let localVar = "I'm local";
console.log(globalVar); // "I'm global"
console.log(localVar); // "I'm local"
}
test();
console.log(localVar); // Error: localVar is not defined
ํด๋ก์
ํด๋ก์ ๋ ํจ์๊ฐ ์ธ๋ถ ํจ์์ ๋ณ์์ ์ ๊ทผํ ์ ์๋ ๊ธฐ๋ฅ์ ๋งํฉ๋๋ค.
function outer() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = outer();
console.log(counter()); // 1
console.log(counter()); // 2
๊ฒฐ๋ก
JavaScript์ ๋ฌธ๋ฒ์ ์ดํดํ๋ ๊ฒ์ ์น ๊ฐ๋ฐ์ ์์ด์ ํ์์ ์ธ ์ฒซ๊ฑธ์์ ๋๋ค. ์ด๋ฒ ๊ธ์์๋ JavaScript์ ๊ธฐ์ด ๋ฌธ๋ฒ์ ์ดํด๋ณด์๋๋ฐ์, ๋ณ์๋ฅผ ์ ์ธํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ณ , ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ ์ดํ๋ ๋ฐฉ๋ฒ๊น์ง ๋ค๋ค๋ณด์์ต๋๋ค. ์ด ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ํ์คํ ์ดํดํ๊ณ ๋๋ฉด ๋ ๋ณต์กํ JavaScript ๊ธฐ๋ฅ์ ๋ฐฐ์ฐ๋ ๋ฐ ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. JavaScript๋ฅผ ์์ํ๋ ๋ชจ๋ ๋ถ๋ค์๊ฒ ์ด ๊ธ์ด ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค.