Responsive Advertisement

JavaScript Syntax: ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ดํ•ดํ•˜๊ธฐ

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๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋ชจ๋“  ๋ถ„๋“ค์—๊ฒŒ ์ด ๊ธ€์ด ๋„์›€์ด ๋˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ฒ˜์Œ๋‹ค์Œ