ホームページ >ウェブフロントエンド >jsチュートリアル >JSSugar と JSre の新しい概念が Web サイトの速度を低下させる仕組み

JSSugar と JSre の新しい概念が Web サイトの速度を低下させる仕組み

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-04 19:45:39220ブラウズ

皆さん、こんにちは!今日は、話題の JS0 と JSSugar について私の考えを共有したいと思います。私の意見では、これにはある種の危険性があり、何十億もの Web サイト ユーザーにとって潜在的に隠されています。ここで、私が言いたいことを説明してみます。

私の見解が気に入らないかもしれませんが、dev.to にコメントがありますので、すべてに答えるように努めます。

私の理解における JS0 の概念と JSSugar の説明

おそらく何かを誤解したり、どこかで間違いを犯した可能性がありますが、できる限り説明します。

つまり、今日の JavaScript では、ますます多くの機能を追加して機能を拡張するのではなく、ユーザーにとってより受け入れやすいものにすることに重点を置く必要があります。同様に、今日ではすべての開発者が typescript、webpack、その他多数のレイヤーを経由するコードを作成しています。開発者が作成するコードが減れば、ecmascript の将来のバージョンでこの単純化のロジックを適用してみてはいかがでしょうか。同様に、lodash や jQuery と同じように関数 (forEach など) を作成する必要があり、すでに複雑であるため拡張する必要はないというビジョンを標準として設定します。

同様に、JS0 があります。これは、すべてがコンパイルされるこの環境用であり、一般の開発者は条件付きで for の代わりに forEach を使用できます。

それでは、ここでこのアプローチの重大な問題が発生します。 「速度のためではない」と書かれているようですが、実際、ベンチマークで JavaScript コードの速度を比較したことのある人なら誰でも、私が何を目的としているのか理解できます。

コード量の微細な最適化のための実装が遅い

はい、今度は練習に移ります:

コード #1

const a = [1,2,3,4,5]
a.forEach((e)=>{
  if(e === 4){
    console.log(e)
  }
})

コード #2

const a = [1,2,3,4,5]
for (let index = 0; index < a.length; index++) {
  const e = a[index];
  if(e === 4){
    console.log(e)
  }
}

結果:

How the new concepts of JSSugar and JSre able to slow down websites

別の例を見てみましょう:

コード #1

const a = [1,2,3,4,5];
const b =  a.map((e)=>{
  return e + 1;
})

コード #2

const a = [1,2,3,4,5]
const b = [];
for (let index = 0; index < a.length; index++) {
  const e = a[index];
  b.push(e + 1)
}

結果:

How the new concepts of JSSugar and JSre able to slow down websites

結果はサイト https://jsbenchmark.com のデータに基づいています。

つまり、私が言いたいのは、TC39 (技術委員会) や開発者コミュニティ一般から想像すると、lodash 関数と jQuery 関数を作成するときに、アイデアを提案する主なベクトルがそのような方向に移動するということです。これが ECMAScript の標準になると、速度は変えないが実際にはアプリケーションの速度を低下させる forEach のような関数が登場するでしょう。もちろん、これは検討する価値があります。

ここでは、公式スライド (鳥が飛び去った) でも、ベクトルがどこに移動するかが示されており、これは事実であり、ユーザーにとっては便利です。

How the new concepts of JSSugar and JSre able to slow down websites

また、ユーザーにとっては、遅れのない高速なサイトを使用するのが便利ですが、開発者にとっては「より表現力豊か」になります。

だから、これが急に標準になったときに、そのような機能が前面に出ていないことを望みます。 SOLID、DRY、およびその他の原則はすでに最新のアプリケーションの速度を低下させていますが、現在ではそれが標準になりつつあります。

js-framework-benchmark の影響

この記事は、もちろん、js-framework-benchmark リポジトリでの作業の経験からインスピレーションを受けています。私の意見では、これは今日スピードが重要である理由を非常に明確に示しています。実際、人々は Web サイトの読み込みを速くしたいと考えています - それは事実です。現在、最新の一般的なフレームワークやライブラリのほとんどは実際には遅いです。スピードなんてクソだと思う人もいるかもしれないが、そうではない。すべてを組み合わせると、そのような「最適化」を行うと、Web アプリケーションの動作が数倍悪くなります。したがって、次のようなことになると思います。

結論

今日このようなアイデアが出てくるのは素晴らしいことです。彼らは JavaScript とすべての Web プログラミングを前進させますが、速度など、軽視すべきではない客観的な要素もあります。

以上がJSSugar と JSre の新しい概念が Web サイトの速度を低下させる仕組みの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。