🗂

node.js memo

2 min read

ライブラリ

config
configフォルダの中のjsonファイルを読み込んでくれる
環境変数によって読み込むファイルを変えてくれる

フロントでシステム日付取得しフォーマット

app.js
var moment = require('moment');
exports.index = function(req, res) {
    res.render('index', { moment: moment });
}
index.js
<html>
    <h1><%= moment().format('Do MMMM, YYYY'); %></h1>
</html>

module.parent
requireされた側でrequireした側の変数を参照する

CRUD

CRUDシンプルな実装参考記事

便利

数字のみを入力できるフォーム(テキストボックス)を作成する

javascript

関数 したいこと
concat リストの結合
reduce リスト内合計とか
array.some(callback) 配列内一つでも
名前 したいこと 参考リンク
Null結合演算子 NULLとundifindeを分けて判定してくれる リンク

引数を括弧で書こうとオブジェクトになる

data = {
    attr: { id: '1111', type: 'hoge' },
    order: [ [Object] ],
    category: [ [Object] ]
  }
  
 const target = await data.filter(({attr}) => attr.id === topicId);

引数の初期化 なかったら0に

    classMethod(param = 0) {
}

アロー関数しかプライベート関数にできない
thisのスコープ対象になるメソッド =>アロー関数のみ

jsonのパラメータはスネーク
オブジェクトだとキャメル
コード規約

抽象メソッドはインスタンス化させたくない
jsならconstractorでインスタンス化させない制御が必要

コンストラクタはasyncできないので、中でawaitは使えない

オブジェクト指向

クラス内で使う変数は
メンバー変数として定義するべき

継承を意識したクラス構成に

スタティッククラス
newしないでも使える
newしないとコンストラクタを通らない
専用のオブジェクトができない
クラス変数も使えない

シングルトンクラス
システムとして一つのインスタンスしか作りたくない時に!
システムの時間を図ったり

多次元配列の特定の値の合計

array.map(function(v) { return v[1] }) // second value of each
.reduce(function(a,b) { return a + b }, 0); // sum 0は初期値
初期値を設定していないと、リストが空だった時にこける
reduceは引数と同じデータ型で返却するので多次元配列だとオブジェクトを返却する
初期値の0がオブジェクトと認識され、数値とオブジェクトの足算ができずNanが帰ってくる
→mapで数値のみのリストに整形して渡すことで初期値0を数値として認識する

mapしないと
参考:stackoverflow

正規表現

正規表現 意味
. 改行文字以外のどの 1 文字にもマッチ
\d 数字にマッチ。[0-9] に相当
+ 直前の文字の 1 回以上の繰り返しにマッチ

https://qiita.com/phi/items/723aa59851b0716a87e3

Discussion

ログインするとコメントできます