5장. 최신 JavaScript 구문과 기능
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
JavaScript는 수십 년 동안 여러 번 개정되어 왔습니다. 이 책에서는 최신 JavaScript 컨텍스트에서 디자인 패턴을 살펴보고 논의되는 모든 예제에서 최신 ES2015+ 구문을 사용합니다. 이 장에서는 현재 JavaScript 컨텍스트에서 디자인 패턴을 논의하는 데 필수적인 ES2015+ JavaScript 기능 및 구문에 대해 설명합니다.
참고
ES2015에서 JavaScript 구문에 몇 가지 근본적인 변경 사항( )이 도입되었는데, 이는 특히 패턴에 대한 논의와 관련이 있습니다. 이러한 내용은 BabelJS ES2015 가이드에서 잘 다루고 있습니다.
이 책은 최신 JavaScript 구문을 사용합니다. Typescript에 대해 궁금하실 수도 있습니다. 정적으로 타이핑된 JavaScript의 상위 집합인 Typescript는 JavaScript에는 없는 여러 언어 기능을 제공합니다. 이러한 기능에는 강력한 타이핑, 인터페이스, 열거형 및 고급 유형 추론이 포함되며 디자인 패턴에도 영향을 줄 수 있습니다. TypeScript와 그 이점에 대해 자세히 알아보려면 Boris Cherny의 Programming TypeScript와 같은 O'Reilly의 책을 읽어보세요.
디커플링 애플리케이션의 중요성
모듈형 JavaScript를 사용하면 논리적으로 애플리케이션을 모듈이라는 작은 조각으로 나눌 수 있습니다. 모듈은 다른 모듈에서 가져올 수 있고, 다른 모듈은 다시 더 많은 모듈에서 가져올 수 있습니다. 따라서 애플리케이션은 여러 개의 중첩된 모듈로 구성될 수 있습니다.
확장 가능한 JavaScript( )의 세계에서 애플리케이션이 모듈형이라는 것은 모듈에 저장된 고도로 분리된 별개의 기능 집합으로 구성되어 있다는 의미입니다. 느슨한 결합은 가능한 경우 종속성을 제거하여 앱의 유지보수를 용이하게 합니다. 효율적으로 구현하면 시스템의 한 부분에 대한 변경이 다른 부분에 어떤 영향을 미칠 수 있는지 확인할 수 있습니다.
다른 전통적인 프로그래밍 언어와 달리 ES5(표준 ECMA-262 5.1 버전)까지의 이전 버전의 JavaScript는 개발자에게 코드 모듈을 깔끔하게 구성하고 가져올 수 있는 수단을 제공하지 않았습니다. 이는 보다 체계적인 JavaScript 애플리케이션에 대한 필요성이 분명해지기 전까지는 큰 고민이 필요하지 않았던 사양의 문제 중 하나였습니다. 초기 버전의 JavaScript에서 애플리케이션을 분리하는 데 가장 많이 사용된 패턴은 AMD(비동기 모듈 정의 )와 CommonJS 모듈이었습니다.
이러한 문제에 대한 네이티브 솔루션 은 ES6 또는 ES2015와 함께 출시되었습니다. ECMAScript의 구문과 의미론 및 향후 반복을 정의하는 표준 기구인 TC39는 대규모 개발을 위한 JavaScript 사용의 진화를 면밀히 주시해 ...