最近、Node.jsでツール作成したのと、JavaScriptのクラスについて改めて確認したのでまとめて記事にしました。
目次
用途
TiemKeeperクラスを作成して、実行時間の測定する。
準備
package.jsonの作成
デフォルト設定のpackage.jsonを作成します。
npm init -y
Momentのインストール
日付モジュールとしてMomentを使用するため、インストールします。
npm install moment
ソースコード
TimeKeeper.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
const moment = require("moment"); module.exports = class TimeKeeper { #list = [] constructor() {} add(message, time){ this.#list.push({"message": message, "time": moment(Date.now()).format("YYYY-MM-DD HH:mm:SSS")}) } showAll(){ this.#list.forEach(element => { console.log(element) }); } } |
「module.export」で、他のモジュールがインポートできるようにする。
addメソッド
記録開始時のメッセージを実行日時と共に登録する。
日時の表示形式はミリ秒までとする。
showAllメソッド
登録されている記録を全て表示する。
main.js
For文を1万回実行する前後で実行時間を登録し、最後に出力する。
1 2 3 4 5 6 7 8 9 10 11 |
const TimeKeeper = require("./TimeKeeper.js"); let timeKeeper = new TimeKeeper() timeKeeper.add("For文1万回開始") let total = 0 for (let index = 0; index < 10000; index++) { total += index; } timeKeeper.add("For文1万回終了") console.log("Total : " + total) timeKeeper.showAll() |
実行結果
実行方法
node main.js
実行前後を時間を見ると、4ミリ秒ほどの実行速度だったことがわかりました。
この他にも、diffを表示(秒、分指定など)などの機能追加を考えましたが、
まずはこれくらいで十分かなと思います。
コメント