JavaScript

JavaScriptのTips

モダンJavaScript ←カリー化などはこちら

一般

  • JavaScriptのコードには、こんな書き方もある 2022.5
    • .破壊的メソッドを避ける,配列の要素の存在チェックに比較演算子を使わない,
    • 極端に数値が多いときは短くする書き方もある
      6e3 -> 6000 eの後の数字は0の数を意味する
  • ページはいつ更新されるか
    • 現在のブラウザーの実装は、以下のようになっているようである。「ようである」というのは、仕様書で確認したわけではないからだ。
      イベント発生 → 関数の実行 → ページの再描画
    • 上記の例で意図したように、カウンターが動いた都度表示させたいと思ったら、その都度関数の実行を完了しなければならない。しかしカウンターを動かすという行為そのものに関数の実行が必要である。どうしたらよいか?
    • その答えが、setTimeout()というわけだ。

null, undefined, NaN ...

クロージャ

配列の操作

  • メンバに集計したい値を持つオブジェクトの配列で 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: 2022-11-10 (木) 13:10:55 (17d)