JavaScript

JavaScriptのTips

モダンJavaScript

一般

  • ページはいつ更新されるか
    • 現在のブラウザーの実装は、以下のようになっているようである。「ようである」というのは、仕様書で確認したわけではないからだ。
      イベント発生 → 関数の実行 → ページの再描画
    • 上記の例で意図したように、カウンターが動いた都度表示させたいと思ったら、その都度関数の実行を完了しなければならない。しかしカウンターを動かすという行為そのものに関数の実行が必要である。どうしたらよいか?
    • その答えが、setTimeout()というわけだ。

配列の操作

  • メンバに集計したい値を持つオブジェクトの配列で reduce を使って合計を出すサンプル
       chargedAmountsTotal() {
         return this.chargedAmounts.amounts.reduce(
           (accumulator, currentValue) => {
             accumulator.amount += currentValue.amount;
             return accumulator;
           }, {amount:0}
         ).amount ;
       }, 

非同期処理

  • JSの非同期処理を初めてES6のPromiseを使ったものに書き換えてみた 2018.10
    • promiseに渡した非同期処理はすぐに実行されるため、「非同期処理がすぐに終わったらどうなるの?thenを呼ぶ前に終わったらどうなるの?怖い」と最初は思いがちだが実行結果を保持して待つため問題ない。例の場合だとpromiseにAを渡してにthenでB,Cを渡してやると、thenを呼んだ際にAが終わっていようが終わっていまいが、必ずAが終わった後にBかCが呼び出されることになる。

オブジェクト指向

thisの理解


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-03 (金) 22:22:11 (4d)