console.log(~+ ~)と console.log(~ , ~)の違い /Javascript
普段は console.log(~ + ~); のように区切り文字に+
をよく使用しているが、
console.log(~ , ~); のように区切り文字に,
を使用する例を見たので、動作を調べてみる。
※動作確認: Node.js v6.10.0 Google Chrome
// 文字列'ABC'に、promiseオブジェクトを連結してコンソールに表示してみる。 function promiseFunc(){ return new Promise((resolve, reject) =>{ resolve(); }); } console.log('ABC' + promiseFunc()); // ABC[object Promise] console.log('ABC', promiseFunc()); // ABC Promise { undefined }
区切り文字に+
を使用した場合、promiseオブジェクトも文字列として連結されている。
一方、区切り文字に,
を使用した場合、promiseオブジェクトはオブジェクトとして連結されている。
Node.jsにて実行した場合はいずれも文字列のように見えるが、
Google Chromeのコンソールで見ると,
で区切った方はオブジェクトとして渡されているのがわかる。