
JavaScript는 웹 개발을 포함한 다양한 환경에서 사용되는 고수준, 동적, 인터프리터형 프로그래밍 언어이다. 주로 클라이언트 단에서 웹 페이지가 동작하는 것을 담당한다.
let value = 42; // number
value = "Hello"; // string
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a noise.`);
}
}
const = numbers = [1, 2, 3];
const doubled = numbers.map(n => n * 2);
console.log(doubled); // [2, 4, 6]
async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
}
fetchData();
function Person(name) {
this.name = name;
}
Person.prototype.greet = function () {
console.log(`Hi I'm ${this.name}`);
};
const john = new Person('John');
john.greet(); // Hi, I'm John
document.querySelector('#myButton').addEventListener('click', () => {
alert('Button Clicked!');
});
function outer() {
const x = 10;
function inner() {
console.log(x); // 10
}
inner();
}
outer();
| 장점 | 단점 |
|---|---|
| 대부분의 브라우저에서 기본적으로 실행 가능 | 동적 타입으로 인해 런타임 오류 가능 |
| 클라이언트-서버 양쪽에서 사용 가능 | 싱글 스레드 기반으로 병렬 처리 제약 |
| 방대한 생태계와 커뮤니티 | 과거 버전 호환성 문제 (ES6 이전) |
| 다양한 프레임워크 및 라이브러리 지원 | 초기 학습 시 비동기 처리 개념이 어려울 수 있음 |
| 빠른 실행 속도와 이벤트 기반 비동기 처리 가능 | 대형 프로젝트에서 유지보수 복잡성 증가 |
| Node.js를 통한 백엔드 개발 가능 | 메모리 관리 및 성능 최적화가 필요함 |