3. 함수형 프로그래밍 지원
자바스크립트는 함수형 프로그래밍을 지원하는 언어입니다.
함수를 일급 객체로 취급하고, 고차함수를 지원합니다.
재사용성과 가독성을 높일 수 있습니다.
//일급객체란 ? 함수를 일반 값과 마찬가지로 변수에 할당하거나,함수의 인자로 전달하거나
//함수의 반환값으로 사용할 수 있는 객체를 의미합니다.
-일급객체 코드예시
//함수를 변수에 할당
const add = function(a, b) {
return a + b;
}
// 함수를 인자로 받는 함수
function calculate(func, a, b) {
return func(a, b);
}
// 함수를 반환하는 함수
function getAddFunction() {
return add;
}
// 함수를 일급 객체로 다루어 코드의 재사용성을 높임
console.log(calculate(add, 2, 3)); // 5
console.log(getAddFunction()(2, 3)); // 5
//고차함수란 ? 함수를 인자로 받거나 함수를 반환하는 함수를 의미합니다.
고차함수 예시
// 고차 함수 예시: 함수를 인자로 받는 함수
function operate(func, a, b) {
return func(a, b);
}
function add(a, b) {
return a + b;
}
function multiply(a, b) {
return a * b;
}
console.log(operate(add, 2, 3)); // 5
console.log(operate(multiply, 2, 3)); // 6
4. 비동기 처리 -> 비동기 처리는 작업을 순차적으로 기다리지 않고 병렬로 처리할 수 있도록 하는 방식입니다.
네트워크 요청과 같이 시간이 오래 걸릴 수 있는 작업을 처리할 때 유용합니다.
// 비동기 처리 예시
// 비동기 파일 읽기
const fs = require('fs');
// 콜백 방식
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
console.error(err);
return;
}
console.log(data);
});
// 프로미스 방식
const readFilePromise = (filePath) => {
return new Promise((resolve, reject) => {
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
});
});
};
readFilePromise('example.txt')
.then((data) => console.log(data))
.catch((err) => console.error(err));
// async/await 방식
const readFileAsync = async (filePath) => {
try {
const data = await readFilePromise(filePath);
console.log(data);
} catch (err) {
console.error(err);
}
};
readFileAsync('example.txt');
콜백,프로미스 ,async/await 를 이용해 비동기 파일 읽기를 처리할 수 있다.
5. 클라이언트 및 서버 모두에서 사용가능
양쪽에서 사용가능하여 웹 개발 전반에 걸쳐 자바스크립트를 활용할 수 있습니다.
part 3 에서는 자바스크립트 기본 문법에 대해서 알아보겠습니다 !
'Daily Logs > TIL (Today I Learned)' 카테고리의 다른 글
JavaScript 실력을 올려줄 다양한 지식들 part 4 (2) | 2024.09.26 |
---|---|
JavaScript 실력을 올려줄 다양한 지식들 part 3 (2) | 2024.09.25 |
JavaScript 실력을 올려줄 다양한 지식들 part 1 (2) | 2024.09.23 |
9월 20일 dotenv (1) | 2024.09.20 |
9월 19일 목요일 API에 대하여 (1) | 2024.09.19 |