Node.jsの熟練者の人は常識かもしれませんが。。。。
きっかけはJSON.stringify()
Node.jsでJSON.stringify()を使うことがあったんですよ。
そしたらJSON.stringify()からエラーが発生するんです。
(node:9372) UnhandledPromiseRejectionWarning: TypeError: Converting circular structure to JSON
なんだこれって思ってググっても、循環させるなって書いてあるんです。
別に循環させてるところなんてないし、なんでだろう、なんでだろうって思ってログ出してみたんです。
そしたら、ある一つの要素にsetTimeoutの戻り値いれてたところがあったんですが、数値じゃなくてオブジェクトだったんです!!!
Node.jsでsetTimeoutしたら戻り値がTimeoutクラスだった
フロント周りやっているとsetTimeoutの戻り値ってtimerIdだって思っているじゃないですか。
clearTimeoutで使用するために戻り値保持してたんです。
よくよく調べるとTimeoutクラスっていうのが返ってきてるらしいです。
普通に使ってれば、意識することないかもしれないですが、JSON.stringify()時はエラーがでるので気をつけて!