jsコンソールよくわからないぽよ〜
不思議ぽよ〜
{} + ""
これをコンソールで実行すると0が返るぽよ〜
でもconsole.logでみると普通ぽよ〜
むずかしいぽよ〜
数分後ぽよ〜
解決したぽよ!!!!
ただ空文字を数値化してるだけの扱いになってたぽよ!!!
+"" // 0
ありがとうございますぽよ〜><
仕様書みたぽよ〜 (harmony Rev22)
式として始まるものは{
とかfunction
とかclass
とかlet [
ではじまっちゃいけなくてそれぞれ、それではじまってたら解釈がかわるみたいぽよ〜
それで
{} + ""
は{
から始まってたのでオブジェクトと空文字の加算(式)じゃなくてブロックとして解釈されてたぽよ〜
一方で
console.log({} + "");
は{
からの開始じゃないから式として扱われるぽよ〜
案外深くなかったぽよ〜
コンソールなにもわるくないぽよ〜
関数宣言と関数式の区別するためのあれと同じぽよ〜