Skip to content

Instantly share code, notes, and snippets.

@LeeDDHH
Last active May 28, 2022 00:28
Show Gist options
  • Save LeeDDHH/d2aa19170e1d7da705db31599107e37b to your computer and use it in GitHub Desktop.
Save LeeDDHH/d2aa19170e1d7da705db31599107e37b to your computer and use it in GitHub Desktop.
デバッグ時に疑問に思ってたこと

console.logにJSONを整形して表示


メモリーが足りないエラーが発生した時の対応

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
  • ビルド時に必要なメモリーが足りないと発生する
  • ビルド時に使うメモリーを増やせば問題は解決する
    • ただ、根本的な解決とは限らない
  • Node.jsに当てられている現在のメモリーを確認する
    • node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'
    • 表示される数字はメガバイト単位
    • 2096 と表示されたら、約2GB( 2048 )くらいを使っている状態
  • 表示されるメモリー容量より大きく指定してビルドをすれば、現象は改善される
    • export NODE_OPTIONS="--max-old-space-size=(ギガバイト数 * 1024)" で指定する
      • 3ギガの場合
      • export NODE_OPTIONS="--max-old-space-size=(3 * 1024)"

参考


rimraf を使わずディレクトリを再帰的に削除する

  • Node.js >= v14.14.0 で使える
node -e 'fs.rmSync(`dist`, {recursive:true, force:true})'

参考

npm scripts で rimraf を使わずディレクトリを再帰的に削除する


指定したN回分ループする

[...Array(5)].map((_, i) => console.log(i))

参考

JavaScriptで指定したN回分ループする - Qiita


TruthyとFalsy

  • true、falseと見る値

  • Truthy

    • true
    • オブジェクト(空のオブジェクトも含める)
    • 配列(空の配列も含める)
    • 0以外の数値
    • "0"(0という文字列)
    • "false"(falseという文字列)
  • Falsy

    • false
    • null
    • undefined
    • 0
    • NaN
    • ""(空の文字列)

参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment