Programming Language/Javascript

Programming Language/Javascript

[NPM DEEP DIVE] 6장. 자바스크립트 번들 도구 살펴보기

위 글은 NPM DEEP DIVE를 읽고, 그 중 6장의 내용을 정리한 글이다.번들링번들링의 역사초기 자바스크립트 환경파일 분리의 모호함순차적인 로드로 인한 성능 저하전역 네임스페이스 오염복잡한 의존성 관리번들링 라이브러리 등장- Browserify(2011 ~ ???)애플리케이션에서 사용된 모든 require() 함수의 호출을 재귀적으로 분석해 브라우저에서 하나의 태그로 사용할 수 있도록 번들을 생성함 => '여러 개로 흩어진 파일을 하나로 합쳐서 제공한다' => 훨씬 빠른 번들링 도구들의 등장과 import 구문 추세에 밀려 자주 사용되지 않음- Webpack(2012 ~ )자바스립트뿐만 아니라 정적 자원(HTML + CSS + 이미지 등)도 번들링하며, 다양한 플러그인 제공하여 DX를 개선하여 현..

Programming Language/Javascript

[NPM DEEP DIVE] 5장. 트랜스파일과 폴리필

위 글은 NPM DEEP DIVE를 읽고, 그 중 5장의 내용을 정리하며,gpt와 티키타카한 글이다. Babel트랜스파일의 필요성ES6 이후 구형브라우저와 호환성을 유지하기 위해 트랜스파일러의 필요성이 대두됨초기에는 ES6코드를 ES5로 트랜스파일링 기능만 제공했으나, 이후 최신 ECMAScript + ESNext, 리액트 JSX 문법, 타입스크립트 등 확장 기능과 프리셋을 통해 특정 환경이나 목표에 맞는 미리 구성된 설정을 할 수 있게함동작방식추상 구문 트리(AST, Abstract Syntax Tree)는 소스코드의 구조를 트리 형태로 표현한 자료구조로, 컴팡일러와 인터프리터가 소스코 드를 분석하고 변환하는 역할을 하며, 최상위 노드, 노드, 자식 노드로 구성됨.아래는 astexplorer에서 fil..

Programming Language/Javascript

[JS] this를 포함한 구조 분해 할당의 문제와 해결 방법

this를 포함한 property를 구조분해할당하면this가 가리키는 객체가 다를 것이라는 것은 머릿 속으로는 알고 있었는데,정리해보려고 남겨보는 글이다.this를 포함한 구조 분해 할당의 문제와 해결 방법구조 분해 할당은 객체나 배열에서 원하는 속성 또는 값을 추출해 별도의 변수로 할당하는 방식이다.코드의 간결성과 가독성을 높이는데 자주 사용된다.예시: 단순 속성 구조 분해this를 사용하지 않는 경우, 구조 분해 할당은 아무 문제 없이 동작한다.함수형 예제const obj = { a: 1, b: 2, c: 3 };const { a, b } = obj;console.log(a, b); // 출력: 1, 2클래스 예제 (this 제외)class MyClass { constructor() { thi..

Programming Language/Javascript

[JS] ES2024에는 어떤 기능이 추가되었을까?

매년 Ecma International에서는 JavaScript의 표준인 ECMAScript(줄여서 ES)를 개정하여 발표한다.2024년 7월에 발표된 ES2024는 JavaScript에 새로운 기능을 추가하고 기존 기능을 더욱 강화하여 개발자들의 작업을 보다 효율적으로 만들어 주는 다양한 개선 사항을 포함하고 있는데,이번 글에서 다뤄보고자 한다.[JS] ES2024에는 어떤 기능이 추가되었을까?1. Object.groupBy 및 Map.groupByES2024 이전의 불편함: 배열을 특정 기준으로 그룹화할 때, 개발자는 reduce()나 forEach()를 사용해 수동으로 데이터를 그룹화해야 했다. 이 방식은 코드가 길어지고 가독성이 떨어지며, 실수를 유발할 가능성도 있다.이전 코드 (ES2024 이전..

개발자참치
'Programming Language/Javascript' 카테고리의 글 목록