매년 Ecma International에서는 JavaScript의 표준인 ECMAScript(줄여서 ES)를 개정하여 발표한다.2024년 7월에 발표된 ES2024는 JavaScript에 새로운 기능을 추가하고 기존 기능을 더욱 강화하여 개발자들의 작업을 보다 효율적으로 만들어 주는 다양한 개선 사항을 포함하고 있는데,이번 글에서 다뤄보고자 한다.[JS] ES2024에는 어떤 기능이 추가되었을까?1. Object.groupBy 및 Map.groupByES2024 이전의 불편함: 배열을 특정 기준으로 그룹화할 때, 개발자는 reduce()나 forEach()를 사용해 수동으로 데이터를 그룹화해야 했다. 이 방식은 코드가 길어지고 가독성이 떨어지며, 실수를 유발할 가능성도 있다.이전 코드 (ES2024 이전..
RORO 패턴이란?RORO는 "Receive an Object, Return an Object"의 약자로, 함수의 매개변수와 반환값을 모두 객체로 사용하는 JavaScript 패턴이다.이 패턴은 TypeScript와 함께 사용할 때 특히 유용하다고 한다. RORO 패턴의 주요 이점은 다음과 같다:매개변수의 순서에 구애받지 않음선택적 매개변수를 쉽게 처리함수 시그니처의 변경이 용이코드의 가독성과 유지보수성 향상TypeScript와 함께 사용 시 타입 안정성 강화RORO 패턴 예시예시1기존의 함수:function createUser(name: string, age: number, email: string, isAdmin: boolean = false) { // 사용자 생성 로직}createUser("Joh..
JavaScript 코딩테스트를 준비해 본 사람이라면, Node.js에서 사용자 입력을 받아 처리하는 대표적인 방법인 fs 모듈과 readLine 모듈을 사용해봤을 것이다.입력 값을 받아 출력 값을 보여주기 위해 사용하는 모듈이라는 사실만 알지, 구체적으로 어떻게 사용하는 것인지 몰랐기에,이번에 정리해보려한다.1. fs 모듈fs 모듈은 파일 시스템과 상호작용할 수 있는 모듈로, 파일을 읽거나 쓸 때 사용됩니다. 주로 파일에서 입력을 읽을 때 사용한다.사용법모듈을 불러온다. // require('fs')readFileSync 메서드를 사용하여 파일을 동기적으로 읽는다. // fs.readFileSync('data.json', 'utf8')입력을 처리한다. // JSON.parse(data) : JSON 문..
행위 패턴 (Behavior Patterns)행위 패턴은 객체나 클래스 간의 책임 할당과 상호작용 방식을 정의합니다. 이는 객체 간의 통신과 협력을 관리하고, 시스템의 유연성을 높이며, 알고리즘과 흐름 제어를 개선하는 데 중요한 역할을 합니다.OOP(객체 지향 프로그래밍)에서 행위 패턴(Behavioral Pattern)이 중요한 이유1. 객체 간의 상호작용 관리객체 간의 상호작용을 정의하고 캡슐화하여 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.객체 간의 의사소통을 유연하게 변경할 수 있어, 시스템의 확장성과 유연성을 높일 수 있습니다.2. 책임 분배와 응집도 향상행위 패턴을 사용하면 책임을 적절히 분배하여 클래스 간의 응집도를 높일 수 있습니다.각각의 클래스가 하나의 책임을 가지도록 하여, 코드..