Cybozu Frontend Monthly #46

タイトル画像

イベント概要

サイボウズフロントエンドマンスリー は、サイボウズ社内で行っているフロントエンド情報共有会「フロントエンドウィークリー」の公開版です。

その月に気になったフロントエンドの情報を、サイボウズのフロントエンドエキスパートチームのメンバーが共有していきます。

このイベントのハッシュタグは #サイボウズフロントエンドマンスリー です。

※フロントエンドウィークリーとは

毎週火曜の 17:00 〜 18:00 で社内向けに行っているフロントエンドの気になる記事を紹介する会です。2016年3月15日から行われています。
ハッシュタグ #サイボウズフロントエンドウィークリー で実況しています。

zennのpublicationにてウィークリーのまとめも投稿していますので、ぜひこちらもご覧ください。 https://zenn.dev/p/cybozu_frontend

開催日

2024年04月30日

イベントページ

https://cybozu.connpass.com/event/315490/

配信URL

https://www.youtube.com/watch?v=cVLPKaS8fO0

メンバー


コンテンツ

👀 Notable Articles

fetchLater API オリジン トライアル

ビーコン送信のようなウェブページからサーバへとデータを送信する新しい API である fetchLater API のオリジントライアルが Chrome で開始されています。

fetchLater API はデータ解析などに必要なデータをサーバに送信する際の信頼性の向上を目的としています。従来pagehidevisibilitychangeといったページイベントや、sendBeacon()などを使って送信するといった方法をとっていましたが、これらはブラウザやデバイスによっては著しく信頼性が低い状態にあります。

この問題は fetchLater API を使うことでブラウザがビーコンを送信することが保証されるようになります。(ただし現状の実装ではブラウザのクラッシュした場合にはビーコンの送信が行われないなどの制限事項もあるようです。


TypeScript 5.5 Iteration Plan

TypeScript 5.5 では多くの便利で意欲的な機能が追加される予定です。その中でも特に注目しているものを紹介します。

1 : Infer type predicates from function bodies using control flow analysis

一時期 x などでもかなり話題になった機能です。制御フロー解析を利用して、boolean を返す関数に対する型述語を推論できるようになります。これにより今までユーザー定義型ガードでしか推論できなかった Array.filter() などでも推論が効くようになります。細かい挙動などに関しては以下の記事がわかりやすかったです。

2 : Isolated declarations errors

Isolated declarations は以前から提案されているコンパイラオプションで、今まで型検査およびそのための型依存解決と同時に行なってきた型定義ファイルの出力を独立させるオプションです。これにより型定義の出力と各ファイルでの検査を並列に行うことができ、大幅な検査の高速化とファイル単位でのキャッシュが行えるとしています。

一方で型検査をせずに型定義ファイルを出力するためには今まで推論に頼ってきた多くの型情報を明示的に書かなくてはならず、大きな制限が生まれるオプションとなりそうです。また型定義の出力を TS 内部でどう行うかなどは議論中でありアップデートを待っている状態です。

今回はその先駆けとして、--isolatedDeclarations が有効な際に明示的なアノテーションがないと容易に推論できない要素に対してエラーが発生するようになります。

3 : Regex Syntax Validation

この変更により正規表現に対して構文チェックが行われるようになります。具体的には無効な正規表現フラグや無効なエスケープの記法などをチェックし、report してくれるようになります。またこの構文チェックは以下の二つの新しい EcmaScript Proposal もサポートしています。

構文自体も複雑で、フラグも多く存在する正規表現に対してこのようなチェックを行なってくれるのはユーザーとして非常にありがたいのではないでしょうか。


Learn JavaScript

web.dev の Learn コンテンツに JavaScript が追加されました。 web.dev Learn はこれまでも HTML や CSS といった Web 開発の根本的な知識からプライバシーやアクセシビリティといった観点まで学習コンテンツを提供してきました。

今回追加された JavaScript のコンテンツは全 28 章で構成されており、大きく 6 部に分けられています。

それぞれ参考となるプログラムだけでなく可読性を高めるプラクティスについても言及されており、全てを網羅するのは少々重いですが学習者は一件の価値があると思います。

最近では、MDN の Web 開発を学ぶReact の Rules of React など学習者に向けたコンテンツが多くリリースされ始めているのでこの機会に学び始めるのはタイミングが良いかもしれません。


🗓 Monthly Articles

📖 Framework, Library


⚡️ Services


💬 Languages


🖥 Browsers


🦆 Others

フロントエンドエキスパートチームについて

https://speakerdeck.com/cybozuinsideout/frontendexpert-team