node の情報もこのツリー以下に入れる。

# 関連ページ

$lsx()

# 数値へ変換する

1. parseIntを使う
1. `+`を値の前につける
1. `-0`を値の後ろにつける

# ブラウザ付属のコンソールに出力する

- 出力したい箇所に以下のコードを書く
```javascript
console.log("message");
```
```javascript
console.log("test() invoked", result);
```

# 判定式
- JavaScript/TypeScript での判定式は以下を利用する
    ```
    if (hoge != null) {
    ```
    - undefined との比較も null との比較にする
        - ただし、比較するときに ===、!== ではなく、==、!= を使うこと
        - undefined == null は true だが、undefined === null は false なため
    - 0, -1, "" 等の判定結果が処理系によって異なるので、`(!hoge)` は避ける
    - その他に JavaScript の場合は以下のような事情もある  
        - http://blog.tojiru.net/article/205007468.html
        
            | 条件                                           | 結果  |
            | ---------------------------------------------- | ----- |
            | undefined <font color="red">**==**</font> null | true  |
            | null <font color="red">**==** null             | true  |
            | undefined **===** null                         | false |
            | null **===** null                              | true  |

# コンテナ内での node のメモリ管理

- [Node.js memory management in container environments](https://developer.ibm.com/articles/nodejs-memory-management-in-container-environments/)


# node のパフォーマンスチューンと Heapdump について

- 参考記事: https://postd.cc/simple-guide-to-finding-a-javascript-memory-leak-in-node-js/

ただ、記事で紹介されている node-heapdump は node-gyp によるコンパイルが必要になるので使い勝手が悪い。
それよりは Chrome の開発者ツールを利用するのが手っ取り早い。

## Chrome での Heapdump の取り方

- node をデバッグモード(`--inspect` を付けて起動)
- Chrome を起動し、Timeline パネルの機能を利用する
    - **バージョンによってパネルの表示のさせ方が違ったりするので、わからなければ都度検索する**


---

## Page Navigation

- Canonical URL: https://tips.weseek.co.jp/Tips/JavaScript
- Permalink: https://tips.weseek.co.jp/5fb74e7aa1ba4200489a4bd1
- Parent: [Tips](/5e44f1546857420048c06de8.md)
- Children: 7 total
  - [Express](/65069da24603e7ff39a6b3db.md)
  - [Sequelize](/65069da24603e7ff39a6b3d7.md)
  - [Streams](/5fb74f7ea1ba4200489a4bf8.md)
  - [nodist](/5fb74fa7a1ba4200489a4c05.md)
  - [yarnとnpmの違い](/5fb74fd9a1ba4200489a4c0e.md)
  - [デバッグの勘所](/5fb75061a1ba4200489a4c26.md)
  - [命名規則](/60ae84d41091010049bed55d.md)
- Total descendants: 8
- Siblings: 49 of 71 total (22 more not shown; see the page list API below for the full listing)
  - [Admin.js](/6505e03558d21abbb3ac8575.md)
  - [Agile](/5fb747a7a1ba4200489a4a89.md)
  - [Amazon Web Services(AWS)](/5fb748c9a1ba4200489a4acc.md)
  - [Angular](/65069da24603e7ff39a6b3d6.md)
  - [Ansible](/6505dfaa58d21abbb3ac837d.md)
  - [Apache2](/65069da24603e7ff39a6b3d5.md)
  - [Base64と仲良くなる](/5e9309f511007300489677f8.md)
  - [BuildKitによりDockerとDocker Composeで外部キャッシュを使った効率的なビルドをする方法](/5e67aea878bd2f0048680af1.md)
  - [CSS](/5fb74873a1ba4200489a4abb.md)
  - [Cocos-creator](/5fb74b6aa1ba4200489a4b2e.md)
  - [GROWI開発の知見でLINE_bot作ってみた](/5fd1d3fa0899d80049ff9a1c.md)
  - [Git](/5fb748dfa1ba4200489a4ad7.md)
  - [Grails](/65069da24603e7ff39a6b3f0.md)
  - [Hyperledger fabric](/5fcb12a2550066004845743c.md)
  - [Java](/5fb74daba1ba4200489a4ba8.md)
  - [Jenkins](/5fb74feba1ba4200489a4c17.md)
  - [KVM](/5fbdbc17daa51800482d2227.md)
  - [Keycloak](/5fbdbffcdaa51800482d22b3.md)
  - [Kubernetes](/600522a79662740048b34bb5.md)
  - [Let's Encrypt](/65069da24603e7ff39a6b3d8.md)
  - [Linux](/5fc0ae238b05ce0048ff5a31.md)
  - [MongoDB](/5fc0af488b05ce0048ff5a6b.md)
  - [Mutagen](/6505de1458d21abbb3ac7ecd.md)
  - [Node.js](/60a62549a0d804004912d94b.md)
  - [OpenLDAP](/5fcda4862553a0004852b0dd.md)
  - [Prometheus](/5fc0b3058b05ce0048ff5af6.md)
  - [Python](/5fc0b3218b05ce0048ff5b00.md)
  - [RaspberryPiとArduinoで作る360度回転リモートワークカメラ](/5fccce3e3a4fec004844a01b.md)
  - [RaspberryPiとArduinoで作る360度回転リモートワークカメラ_ソフトウェア構築編](/5fdab8ad04dc4f00483b8d20.md)
  - [RaspberryPiとArduinoで作る360度回転リモートワークカメラ_ハードウェア製作編](/5fd7972a5fc9220048844c35.md)
  - [Redmine](/5fcd9bdd2553a0004852b012.md)
  - [Ruby](/5fc0b2588b05ce0048ff5ada.md)
  - [Single Sign On(SSO)](/5e97bf6876311900487c3c55.md)
  - [Slack](/5fc0ae7b8b05ce0048ff5a45.md)
  - [SourceTree](/5fc0ae0c8b05ce0048ff5a2b.md)
  - [StackStorm(st2)](/65069da24603e7ff39a6b3da.md)
  - [Stripe](/5fc0aff58b05ce0048ff5a8d.md)
  - [Tomcat](/5fcda2772553a0004852b0ac.md)
  - [Turborepo](/6505dee958d21abbb3ac80cf.md)
  - [TypeScript](/5fc0a7ac8b05ce0048ff58f4.md)
  - [URLでベーシック認証を突破](/5fc0b2d98b05ce0048ff5af2.md)
  - [Unity](/5fc0ace98b05ce0048ff59f5.md)
  - [VSCode](/5e9b270093fd090048cc8acb.md)
  - [WSL2](/65069da24603e7ff39a6b403.md)
  - [Wordpress](/5fc0af488b05ce0048ff5a6d.md)
  - [XSS](/5fbe723e36ac6300497c2194.md)
  - [brigade](/600523119662740048b34be0.md)
  - [cert-manager](/65069da24603e7ff39a6b3f9.md)
  - [devcontainer](/5fd54b8eedce4f00482fa36d.md)
- Last updated: 2020-11-25T15:02:16.854Z by deleted_at_1672138397219
- Full page listing (all children regardless of count): https://tips.weseek.co.jp/_api/v3/page-listing/children?id=5fb74e7aa1ba4200489a4bd1
