条件演算子===
と代入演算子=
のパフォーマンスに違いはありますか? 私はマングースでいくつかの事前保存フックミドルウェアを書いていますが、次の間に速度の違いがあるかどうか疑問に思っています:
UserSchema.pre('save', function (next) {
if (!this.isModified()) {
return next();
}
this.crm.isUpToDate = false;
next();
});
と
UserSchema.pre('save', function (next) {
if (!this.isModified()) {
return next();
}
if (this.crm.update === true) {
this.crm.isUpToDate = false;
}
next();
});
編集:
建設的なコメントをありがとう。
基本的に、パフォーマンスに大きな違いがあるようには見えません (上記のように無視できます)。速度をテストするためのクールなツールhttp://jsperf.com/に感謝します。これまで聞いたことがありませんでした。
コードについて疑問に思っている人のために、最初に最初の投稿で露骨な間違いを犯し、それからみんながそれを指摘しようとしたとき、私は泣きました。
これが私がやっていることです:
ドキュメントが保存されるたびにフックが実行される mongoose pre-save ミドルウェア フック (mongo データベース用) があります。保存の時点で、ドキュメントが更新されたかどうかを確認します。もしそうなら、私はcrmIsUpToDate
false に設定しました。crmIsUpToDate
cron ジョブが取得されると、true に設定されます。このフックは、cron ジョブがドキュメントに到達する前に何度でも実行できます。
===
質問は比較を行うことと代入を行うことの間に違いがあるかどうかだったので、これが質問に必要なすべてだとは思いませんでした=
。主な質問から本当に損なったので、コードを掲載するべきではありませんでした。