terminal
Weekly Digest // JS_FRAMEWORKS — Week 24-2026
codeWeekly Report

WWDC26 소식: Safari 27 Beta의 WebKit — 2026년 24주 자바스크립트

JS frameworks, React/Vue/Svelte, and runtime updates

calendar_todaysummarizeWeek 24-2026
브라우저

WWDC26 소식: Safari 27 Beta의 WebKit

Safari 27 베타58개의 신기능525개의 버그 수정을 포함해 출시되었습니다 — 역대 Safari 릴리즈 중 가장 많은 수정 건수입니다. 주요 추가 사항으로는 appearance: base-select::picker-icon, ::checkmark 등 새 pseudo-element를 활용한 customizable select, overflow-anchor를 통한 scroll anchoring, 그리고 동기 방식으로 보이는 Wasm 코드가 JavaScript Promise에서 중단될 수 있는 WebAssembly JSPI가 포함됩니다. JavaScript 섹션에서는 top-level await 정확성을 위해 ESM 로더를 C++로 완전 재작성했으며, test262 및 Web Platform Tests를 통해 검증되었습니다. CSS에는 :heading pseudo-class, revert-rule 키워드, box sizing용 stretch 키워드, transform 인식 anchor positioning이 추가되었습니다. ReadableStream API는 for await...of를 이용한 async 반복, ReadableStream.from() 정적 메서드, postMessage()를 통한 컨텍스트 간 전송을 지원합니다.

WWDC26 소식: Safari 27 Beta의 WebKit
Read Articlearrow_forward
Video · 자바스크립트

오늘부터 사용할 수 있는 새 JavaScript 기능 11가지

Kyle(Web Dev Simplified)이 최근 출시되었거나 출시 임박한 JavaScript 기능 11가지를 소개합니다. 모든 브라우저에서 동작하는 9가지 기능은 다음과 같습니다: Set 메서드(union, intersection, difference, symmetricDifference, isSubsetOf), iterator helpers(모든 이터레이터에서 map, filter, take, toArray), 동기/비동기 에러를 통합 처리하는 Promise.try, type: 'json'을 사용하는 import attributes, 사용자 입력 패턴을 안전하게 만드는 RegExp.escape, 비동기 이터러블을 위한 Array.fromAsync, 크로스-영역 검사를 위한 Error.isError, Map.prototype.getOrInsertgetOrInsertComputed, 부동소수점 정밀도를 위한 Math.sumPrecise. Safari에서 아직 지원되지 않는 두 가지 보너스 기능: Symbol.dispose와 함께 using 키워드를 통한 명시적 리소스 관리, 그리고 시간대, 기간, 형식화 지원을 갖춘 완전한 Date 대체제인 Temporal API.

AI_INFOGRAPHIC
오늘부터 사용할 수 있는 새 JavaScript 기능 11가지 — infographicWATCH_VIDEOarrow_forward
Article · 도구READ TIME: 4m

Tales from the Void: 2026년 5월 돌아보기

VoidZero2026년 5월 공식적으로 Cloudflare에 합류했으며, Vite, Vitest, Rolldown, Oxc는 Evan You의 리더십 아래 오픈소스, MIT 라이선스, 벤더 중립적 상태를 유지합니다. 가장 큰 기술적 이정표는 Vite 8을 구동하는 Rust 기반 번들러 Rolldown 1.0의 출시로, API 및 빌드 결과물 안정성, Rollup 플러그인 호환성, Rollup 대비 10-30배 빠른 빌드 속도(esbuild와 동등)를 제공합니다. Ramp, Beehiiv, Mercedes-Benz.io 등 초기 도입 기업들은 최대 64%의 빌드 시간 단축을 보고했습니다. Oxfmt는 25% 속도 향상과 Svelte 파일 포맷 지원을 추가했고, Oxlint는 LLM 가드레일용 에이전트 출력 모드를 도입했습니다. Vite+는 staged publishing, VS Code 통합, 낡은 Vite import 방지 내장 규칙을 추가했습니다.

READ_FULL_LOGarrow_forward
Article · 모범 사례READ TIME: 4m

불필요한 async의 조용한 문제

실제 I/O를 수행하지 않는 함수에 async를 추가하면 반환 타입이 값에서 Promise로 바뀌어 모든 호출자, 테스트, 합성 유틸리티에 전파됩니다 — 이른바 함수 색칠 문제(function coloring problem)입니다. Matt Smith는 성능 오버헤드가 거의 진짜 문제가 아니라고 주장합니다. 비용은 인지적인 것입니다. 불필요한 async는 실제 I/O 경계가 어디에 있는지를 흐리게 하여, 스트리밍 SSR, React Server Components, 엣지 런타임, Suspense 렌더링으로 이미 포화된 현대 시스템에서 async 함수 시그니처를 오해의 소지가 있는 신호로 만듭니다. 그의 경험칙: async는 투기적인 미래 요구 사항이 아니라 실제 async 경계를 나타내야 합니다. 왜냐하면 이 키워드는 구현뿐 아니라 주변 코드 전체의 형태를 바꾸기 때문입니다.

READ_FULL_LOGarrow_forward
Article · 프레임워크READ TIME: 8m

Angular Resource Snapshot 알아보기

Angular의 Resource API는 idle, loading, reloading, resolved, local, error 등 모든 상태 전환을 이전 값과 함께 캡처하는 ResourceSnapshot<T> 타입의 snapshot 속성을 노출합니다. Fanis Prodromou의 이 글은 snapshotlinkedSignalresourceFromSnapshots와 결합하여 fetch 중 resource.value가 null로 초기화될 때 발생하는 skeleton-loader 깜박임 없이 이전 데이터를 유지하는 방법을 보여줍니다. 에러 상태의 경우 내장 ResourceSnapshot 타입은 status: 'error'와 value를 함께 사용할 수 없어 프레임워크가 ResourceValueError를 발생시키므로, 이전 값을 저장하고 hasError signal을 노출하는 keepValueOnError 플래그를 갖춘 커스텀 resilientResource 함수를 소개합니다. 동일한 함수가 핸들러 파이프라인을 통해 두 가지 동작을 함께 구성합니다.

READ_FULL_LOGarrow_forward
Article · 린팅READ TIME: 2m

ESLint v10.5.0 출시

ESLint v10.5.0다섯 가지 핵심 규칙에 걸쳐 진단 개선 사항을 제공합니다. max-lines-per-function, max-nested-callbacks, max-statements 규칙은 이제 전체 함수 본문 대신 함수 헤더만 강조 표시하여 에디터에서의 시각적 노이즈를 줄입니다. max-depthno-with 규칙은 문제가 되는 키워드만 강조합니다. 또한 max-nested-callbacks의 스택 추적 수정과 max-depth의 else-if 체인 처리 수정으로 기존 코드베이스에서 새로운 린팅 오류가 발생할 수 있습니다. 문서 업데이트는 Node.js ICU 전제 조건parserOptionslanguageOptions보다 우선하는 규칙을 명확히 합니다.

READ_FULL_LOGarrow_forward
Article · 타입스크립트READ TIME: 14m

TanStack Table V9의 TypeScript 성능

TanStack Table V9는 전역 declaration merging을 대체하는 새로운 TFeatures 제네릭 기반의 모듈식 per-table 기능 시스템을 도입했습니다. 알파 버전은 table-core에서 TypeScript 인스턴시에이션이 123만 건에 달해 — V8의 기준치 78k 대비 14.7배 — 에디터 지연이 눈에 띄었습니다. beta.12에서는 266k까지 줄여(78.3% 감소) 모든 패키지에서 62-86%의 인스턴시에이션 감소를 달성했습니다. 주요 기법으로는 14개 분기의 UnionToIntersection 조건부를 명명된 ExtractFeatureMapTypes 인터페이스로 대체, Table_Internal 재작성으로 내부 호출 시 feature-conditional 확장 방지, 166개 타입 파라미터에 in out 불변성 어노테이션 추가로 빠른 분산 기반 비교 활성화, 그리고 생성 헬퍼에 명시적 타입 인수 전달로 고비용 타입 추론 우회가 있습니다.

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

이번 주 JavaScript 소식은 두 가지 중요한 플랫폼 이벤트가 주목을 받았습니다. WWDC26에서 공개된 Safari 27 Beta58개의 신기능과 역대 최다인 525개의 버그 수정을 탑재했으며, 올바른 top-level await를 위한 ESM 로더의 C++ 완전 재작성, WebAssembly JavaScript Promise Integration(JSPI), for await...of를 이용한 async 반복 및 postMessage()를 통한 컨텍스트 간 전송을 지원하는 개선된 ReadableStream API가 포함되어 있습니다. 한편 VoidZero는 공식적으로 Cloudflare에 합류하면서도 Vite, Vitest, Rolldown, Oxc의 오픈소스 상태를 유지했으며, 핵심 이정표는 Rollup 대비 10~30배 빠른 빌드를 제공하는 Rust 기반 번들러 Rolldown 1.0으로, Ramp와 Mercedes-Benz.io 등 초기 도입 기업들의 빌드 시간을 최대 64%까지 단축하고 있습니다.

라이브러리 및 도구 분야에서는 TanStack Table V9가 심층적인 TypeScript 성능 최적화를 선보였습니다. TFeatures 제네릭 도입, UnionToIntersection 조건부를 ExtractFeatureMapTypes 인터페이스로 대체, in/out 분산 어노테이션 추가를 통해 인스턴시에이션을 123만 건에서 266k로 78.3% 줄였습니다. ESLint v10.5.0max-lines-per-function 등의 규칙이 함수 전체 본문 대신 헤더만 강조하는 진단 개선을 제공했습니다. Angular의 Resource API snapshot 속성도 심층적으로 탐구되어, linkedSignal과 커스텀 resilientResource 함수를 통해 데이터 fetching 중 skeleton-loader 깜박임을 방지하는 방법이 소개되었습니다.

보다 넓은 생태계 관점에서는 Set 메서드(union, intersection, difference), iterator helpers, Promise.try, RegExp.escape, Array.fromAsync, Error.isError, Map.prototype.getOrInsert, Math.sumPrecise 등 지금 당장 사용 가능한 11가지 크로스 브라우저 JavaScript 기능이 소개되었습니다. Safari에서 아직 지원되지 않는 using 키워드와 Symbol.dispose를 활용한 명시적 리소스 관리 및 Temporal API가 추가로 다루어졌으며, 불필요한 async 키워드 사용이 전체 호출 체인에 Promise 반환 타입을 전파시켜 숨겨진 인지적 비용을 초래한다는 모범 사례 관련 내용도 논의되었습니다.

Key Takeaways
  • Vite 8을 구동하는 Rust 번들러 Rolldown 1.0이 프로덕션 준비 완료 상태로, Rollup 플러그인 완전 호환과 함께 10~30배 빌드 속도 향상을 제공합니다 — 초기 도입 기업들은 최대 64%의 빌드 시간 단축을 보고하고 있습니다.
  • Safari 27 Beta의 ESM 로더 재작성과 WebAssembly JSPI는 이번 주 가장 중요한 브라우저 수준 JavaScript 발전이지만, Set 메서드·Promise.try·Temporal 등 11가지 크로스 브라우저 기능은 오늘부터 모든 주요 엔진에서 바로 사용할 수 있습니다.
  • TanStack Table V9는 분산 어노테이션과 명명된 인터페이스를 통해 TypeScript 인스턴시에이션을 78% 줄였으며, 이는 대규모 제네릭 라이브러리 성능 최적화의 교과서적 사례입니다.