Welcome to our blog! I'm Jason Williams, a senior software engineer on Bloomberg's JavaScript Infrastructure and Terminal Experience team. Today the Bloomberg Terminal runs a lot of JavaScript. Our team provides a JavaScript environment to engineers across the company. Bloomberg may not be the first company you think of when discussing JavaScript. It certainly wasn't for me in 2018 before I worked
Published: June 18, 2025 If you want to import a JSON file in a JavaScript module, you previously had to go through hoops like embedding JSON in JavaScript just so you can use a regular import statement, or downloading a file with fetch() and then calling Response.json(). This is a problem that is now solved in all modern browsers thanks to JSON module scripts and import attributes. The following
乗りこなせ! モダンフロントエンド Temporalで変わるJavaScriptの日時操作 [JS Modern Features no.1] 本連載について はじめまして! サイボウズ フロントエンドエキスパートチームの左治木です。 本連載では、Webフロントエンドに関してもう一歩踏み込んだ知識について、サイボウズフロントエンドエキスパートチームのメンバーによって不定期で解説記事を掲載しています。前回までの記事では「CSS Modern Features」と題して、CSSの比較的新しい機能の中でインパクトの大きいものをピックアップして弊チームの麦島が解説してくれました。 JS Modern Features / JavaScriptの進歩 この記事からは「JS Modern Features」と題して、JavaScriptに関するコンテンツを数回に分けてお届けします。 JavaScrip
This post is for people who are familiar with JavaScript’s == operator. JavaScript’s “double equals” operator, ==, is typically discouraged. And for good reason: its behavior is tricky. Where === asks “are these the same thing?”, the double-equals operator asks a question that’s not straightforward. More specifically, == implements something called the Abstract Equality Comparison Algorithm, a 13-
The problem Of all the recent changes coming to ECMAScript, my favorite by far is the Temporal proposal. This proposal is very advanced, and we can already use this API through the polyfill provided by the FullCalendar team. This API is so incredible that I will likely dedicate several blog posts to highlighting its key features. However, in this first post, I will focus on explaining one of its
一定の規模以上のWebアプリケーションにおいて、JavaScriptを開発時のままの形で配信することは滅多にありません。webpackやRollupなどのバンドラを使用して、ファイルをまとめた上で配信することが一般的です。 ESModulesが普及しバンドル工程なしでも主要ブラウザがJavaScriptのモジュールを直接解釈できるようにはなりましたが、我々は依然としてバンドラを使用してWebアプリケーションを開発しています。一体なぜでしょうか? いくつか理由はありますが、その内の1つに importのコストが高い ことがあげられます。 これはv8チームが公開しているベンチマーク測定を見ても明らかです。モジュールの読み込みに時間がかかると当然ページの読み込み速度が遅くなり、ユーザー体験が悪化します。 出典: ES Module loading importのコストを削減するためにエコシステム
Ecma International approves ECMAScript 2024: What’s new? On 26 June 2024, the 127th Ecma General Assembly approved the ECMAScript 2024 language specification (press release, GitHub release), which means that it’s officially a standard now. This blog post explains what’s new. The editors of ECMAScript 2024 # The editors of this release are: Shu-yu Guo Michael Ficarra Kevin Gibbons What’s new in EC
New JavaScript Set methods are arriving! Since Firefox 127, these methods are available in most major browser engines, which means you won't need a polyfill to make them work everywhere. This article is a good read for people who are new to Set in JavaScript and are looking to find out how to use these new JavaScript methods. I'll highlight some advantages of using these methods with basic example
Promises in JavaScript can seem a bit daunting at first, but understanding what's happening under the hood can make them much more approachable. In this blog post, we'll dive deep into some of the inner workings of promises and explore how they enable non-blocking asynchronous tasks in JavaScript. I'm still working on making this blog better on mobile devices, mobile browsers don't always render t
Recently I landed experimental support for require()-ing synchronous ES modules in Node.js, a feature that has been long overdue. In the pull request, I commented with my understanding about why it did not happen sooner before this pull request in 2024. This post expands on that comment a bit more. The opinions in this post are my own and reflect my perception of the ESM development in Node.js as
Previously #V8 shipped the import assertions feature in v9.1. This feature allowed module import statements to include additional information by using the assert keyword. This additional information is currently used to import JSON and CSS modules inside JavaScript modules. Import attributes #Since then, import assertions has evolved into import attributes. The point of the feature remains the sam
One of my favorite new features of JavaScript and TypeScript is explicit resource management. It brings new syntax, using foobar = ..., that enables RAII, reducing boilerplate when managing the lifecycle of various resources. In this article, I will explore this feature as implemented in TypeScript 5.2.0 with the disposablestack polyfill. I will mention both sync and async resources, DisposableSta
Node.js 21では --experimental-default-type=module フラグで、JavaScriptファイルのデフォルトの解釈をCJS(CommonJS)からESM(ECMAScript Modules)に変更できるようになっています。 Node.js 21 is now available! | Node.js これは、Node.jsにおいてJavaScriptファイル(.js)のデフォルトをESMに変更するための第一歩です。 今回のDeep Diveでは、Node.jsのESMデフォルト化に向けたIssueや実装について紹介します。 Node.jsのESMデフォルト化 Discussion: New “ESM by default” mode · Issue #49432 · nodejs/node このIssueは、Node.jsにおけるambiguous
Wednesday, August 23, 2023 Dates in JS suck. Well, they suck in all languages, really. It's surprisingly hard to get right. The native Date is super limited. Sure, you can new Date('2015-10-21T01:22:00.000Z') and date.toISOString(), maybe dateA < dateB, but that's pretty much it. Need to add minutes, hours, or whatever to a date, check how many days there are until X date, etc? Good luck with that
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く