- export :
- 모듈화된 자바스크립트에서 내보내기를 위한 키워드
- 다른 파일에서 import하여 사용 가능하도록 함
- default :
- export와 함께 사용되며, 모듈에서 기본으로 내보낼 대상을 지정
- Default Export는 하나만 존재할 수 있음
- function : 함수 선언 키워드
- 변수에 할당하거나 다른 함수의 인수로 전달(callback) 할 수 있음
- function으로 선언된 함수는 호이스팅되므로 선언 전에 호출 가능
console.log(add(2, 3)); // 출력: 5
function add(a, b) {
return a + b;
}
function downloadFile(url, callback) {
console.log(`Downloading file from ${url}`);
setTimeout(() => {
console.log("Download complete");
callback("fileData");
}, 3000);
}
function processFile(data) {
console.log(`Processing file: ${data}`);
}
downloadFile("https://example.com/file", processFile);
// 출력:
// Downloading file from https://example.com/file
// (3초 후) Download complete
// Processing file: fileData
- const : 상수 선언 키워드 (재할당이 불가능한 변수)
- const에 함수를 할당하면 함수처럼 호출할 수 있음
- const를 사용하면 재할당을 방지할 수 있어 코드의 안전성을 높임
재할당 방지
const greet = () => console.log("Hello!"); // greet = () => console.log("Hi!"); // >TypeError: Assignment to constant >variable.
function의 호이스팅 방지
console.log(add(2, 3)); // TypeError: add >is not a function const add = function (a, b) { return a + b; };
const square = function(x) {
return x * x;
};
const greet = () => {
console.log("Hello!");
};
greet(); // 출력: Hello!
const greet = (name) => {
console.log(`Hello, ${name}!`);
};
greet("Alice"); // 출력: Hello, Alice!
- 호이스팅 : 자바스크립트 엔진이 코드를 실행하기 전에 변수와 함수의 선언을 미리 처리하는 것
- 재할당 : 이미 선언된 변수에 새로운 값을 할당하는 것
- 변수를 선언하면 해당 변수는 메모리에서 특정 값을 참조하게 됨
- 특정 변수가 참조하는 값을 새로운 값으로 변경하는 것을 재할당이라고 함
- var와 let은 재할당이 가능하지만, const는 불가능(내부 값을 변경하는 것은 가능)
- 객체 지향 프로그래밍(OOP)을 지원하기 위해 ES6에서 도입된 문법
- 객체를 생성할 수 있는 템플릿으로, 속성과 메서드를 정의
class Rectangle {
constructor(width, height) {
this.width = width;
this.height = height;
}
// Getter
get area() {
return this.width * this.height;
}
// Setter
set dimensions(dimensions) {
this.width = dimensions.width;
this.height = dimensions.height;
}
}
const rect = new Rectangle(10, 20);
console.log(rect.area); // 출력: 200 (Getter 호출)
rect.dimensions = { width: 15, height: 25 }; // Setter 호출
console.log(rect.area); // 출력: 375
메소드는 클래스나 객체를 통해서 호출해야 하지만, 함수는 이름만으로 호출 가능
- 함수 : 특정 작업에 대해 독립적으로 정의된 코드
- 독립적으로 존재하며, 객체나 클래스에 소속되지 않음
- 전역 또는 특정 스코프에서 동작하며, 호출만으로 실행 가능
- 입력(인자)을 받아 출력(반환값)을 계산하거나 특정 동작을 수행
- 메소드 : 클래스나 객체에 속한 함수, 객체의 동작을 정의, 주로 데이터를 처리하거나 조작하는 역할
- 객체 또는 클래스에 소속되어 있으며, 그들의 일부로 동작
- 객체(인스턴스)나 클래스와 밀접하게 연관되어 있으며, 이를 호출할 때 해당 객체 또는 클래스의 데이터를 조작하거나 활용