자바스크립트(JavaScript) 는 웹 브라우저에서 동작하는 스크립팅 언어로, 클라이언트 측 동작, 서버 측(Node.js), 그리고 모바일 및 데스크톱 애플리케이션 개발에서도 널리 사용됩니다.
동적 타입(Dynamic Typing):
프로토타입 기반(Prototype-based):
이벤트 루프(Event Loop):
광범위한 활용성:
var
:
let
:
const
:
let x = 10;
const y = 20;
x = 30; // 가능
y = 40; // 오류: y는 재할당할 수 없음
var
로 선언된 변수는 함수 내에서만 접근 가능.let
과 const
는 블록({}
) 내에서만 접근 가능.function greet(name) {
return `Hello, ${name}`;
}
const greet = function (name) {
return `Hello, ${name}`;
};
const greet = (name) => `Hello, ${name}`;
function makeCounter() {
let count = 0;
return function () {
count++;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
setTimeout(() => {
console.log("1초 뒤 실행");
}, 1000);
resolve
) 또는 실패(reject
)를 나타내는 객체.const fetchData = new Promise((resolve, reject) => {
setTimeout(() => resolve("데이터 수신"), 1000);
});
fetchData.then((data) => console.log(data));
async function fetchData() {
const data = await new Promise((resolve) =>
setTimeout(() => resolve("데이터 수신"), 1000)
);
console.log(data);
}
fetchData();
const name = 'John';
console.log(Hello, ${name});
const [a, b] = [10, 20];
const { x, y } = { x: 30, y: 40 };
import/export
문법.// math.js
export const add = (a, b) => a + b;
// main.js
import { add } from "./math.js";
console.log(add(2, 3)); // 5
class Person {
constructor(name) {
this.name = name;
}
greet() {
console.log(`Hello, my name is ${this.name}`);
}
}
const john = new Person("John");
john.greet();
자바스크립트는 웹 개발의 핵심 언어로, 클라이언트 및 서버 측 개발을 모두 지원합니다. ES6 이후의 새로운 문법과 프레임워크를 적극 활용하면, 생산성과 코드 품질을 높일 수 있습니다.