반응형
불변성(Immutability)과 레퍼런셜 투 트루(Reducing to True)
불변성(Immutability)
불변성은 데이터가 생성된 후에는 그 상태를 변경할 수 없는 것을 의미합니다. 이는 데이터의 변경을 허용하지 않고, 새로운 데이터를 생성하는 방식으로 작업을 수행합니다. 불변성은 함수형 프로그래밍에서 중요한 개념으로, 코드의 예측 가능성과 안정성을 높여줍니다. JavaScript에서는 객체나 배열의 불변성을 유지하기 위해 라이브러리나 내장 메서드를 활용할 수 있습니다.
핵심 내용:
- 불변성은 데이터가 생성된 후에는 변경할 수 없는 것을 의미합니다.
- 데이터의 변경이 필요할 때는 새로운 데이터를 생성하여 사용합니다.
- 불변성은 코드의 예측 가능성과 안정성을 높여주며, 다중 스레드 환경에서 안전성을 보장합니다.
예시:
// 배열의 불변성 유지 예시: concat 메서드 활용
const arr1 = [1, 2, 3];
const arr2 = arr1.concat(4);
console.log(arr1); // Output: [1, 2, 3]
console.log(arr2); // Output: [1, 2, 3, 4]
레퍼런셜 투 트루(Reducing to True)
레퍼런셜 투 트루는 배열이나 컬렉션을 평가하여 조건에 부합하는 요소를 찾는 과정을 말합니다. 주로 배열의 요소를 조건에 따라 필터링하거나 특정 값을 찾는 데 사용됩니다. JavaScript에서는 배열 메서드인 reduce를 활용하여 레퍼런셜 투 트루를 구현할 수 있습니다.
핵심 내용:
- 레퍼런셜 투 트루는 배열이나 컬렉션을 평가하여 조건에 부합하는 요소를 찾는 과정을 말합니다.
- 주어진 조건에 따라 필터링하거나 특정 값을 찾는 데 사용됩니다.
- JavaScript에서는 배열 메서드인 reduce를 활용하여 레퍼런셜 투 트루를 구현할 수 있습니다.
예시:
// 레퍼런셜 투 트루 예시: reduce 메서드 활용
const numbers = [1, 2, 3, 4, 5];
// 배열의 요소 중 홀수를 모두 더하는 예시
const oddSum = numbers.reduce((acc, cur) => {
if (cur % 2 !== 0) {
return acc + cur;
}
return acc;
}, 0);
console.log(oddSum); // Output: 9 (1 + 3 + 5)
불변성과 레퍼런셜 투 트루는 모두 함수형 프로그래밍에서 중요한 개념으로, 코드를 더 안정적이고 예측 가능하게 만들어줍니다. 이러한 개념을 활용하여 JavaScript 코드를 작성하면 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.
반응형
'javascript pure > javascript 코어 개념' 카테고리의 다른 글
27. 자바스크립트 엔진(JavaScript Engine) - 3 (0) | 2024.02.17 |
---|---|
26. 자바스크립트 엔진(JavaScript Engine) - 2 (0) | 2024.02.17 |
25. 자바스크립트 엔진(JavaScript Engine) - 1 (0) | 2024.02.17 |
24. 함수형 프로그래밍(Functional Programming) - 3 (2) | 2024.02.17 |
22. 함수형 프로그래밍(Functional Programming) - 1 (0) | 2024.02.16 |
21. 디자인 패턴(Design Patterns) - 3 (0) | 2024.02.16 |
20. 디자인 패턴(Design Patterns) - 2 (0) | 2024.02.16 |
19. 디자인 패턴(Design Patterns) - 1 (0) | 2024.02.16 |