JavaScriptの { } を理解する - Qiita

79コメント 登録日時:2018-11-08 22:39 | Qiitaキャッシュ

いきなりですが、自分の好きなREPLで以下を入力してみてください[^repl_desc]。[^repl_desc]: REPLとは、JavaScriptを入力するとその場で結果を返してくれるやつです。ブラウザの開発者ツールが一番身......

Twitterのコメント(79)

途中で頭がこんがらがったので後でもう一度読む。
TS はオブジェクトリテラルの平置き(?)を許してないのでそうなるのはなるほどという感じ /
うーんムズイ。
プログラム書くのは当たり前で、裏の動きを知ってるのと知らないのとでは完成形が全く違ってくるんだろうな。。。
おもしろい
めっちゃ面白い :
ビタワン先生も注目しているこの記事、帰ったらもう一度じっくり読み直してみよう
JS闇の言語すぎるな
面白かった。が、長い…。/ Qiita

勉強になりました!初めて知ることだらけでした!\( •̀ω•́ )/
式文は{で始めてはいけない
考えれば考えるほどJavascriptってクソやなって思えてくるw
めっちょ丁寧なブラケットの説明だと思いました!
(半分も理解できてない人の感想)
雰囲気で書いてるから改めて見るとだいぶ勉強になる。いい記事。
とてもおもしろい
こいつは…恐れ入った…複雑すぎる…
"REPLの結果だけからJavaScriptについて議論することは危険であることがお分かりになると思います。"
NowBrowsing:
サイ本のような詳しさ /
見てる:
僕のQiita記事トレンド入りしてるけど,こんな記事より,リンク先みたいな他の記事がもっとトレンドに出てくるべき何だよなぁ
(リンク先は既にトレンド入り)
を読んでいてほんわかと考えたのだけども、別に記事の内容とはあまり関係ない
非常にマニアック
まとめだけでも読むべき
しっかりと仕様書を用いて説明してるの良き。 /
トレンド一位がこういうちゃんとした記事なの、久しぶりでは? /
渾身の記事。面白かった
こういうのおもろい
おもしろかった。知らないことがまだまだあるなぁ。Rubyもハッシュとブロックが { } で曖昧になるときがあって死人が出る。 /
そうだったのか /
そもそもややこしい上にREPLの仕様が決まってないせいもあってブラウザ間で実装が異なる、と /
スゴイ長い / (888 users)
いままで雰囲気でrepl使ってたのでき付いてなかった
"REPLの結果だけからJavaScriptについて議論することは危険"
うっ //
JSはES6移行の実装でモダンになったねヤッター
→ほんまJSだけは…そういうとこやぞ!!!!
電車で読んでたけど面白かった。なお、後半の余談途中からは読んでいない
「最後に評価された式がそのまま返り値になる」っていうのは関数呼び出しをハンドアセンブルで実装したらそうなるような環境からの遺産だと思うのだけど、そういう仕様の言語は他にもありそうな気がする (「悪名高き自動セミコロン挿入機能」 こ、Kotlinのことか…!)
非常にわかりやすくて練られた読み物でした。
Javascript中級者が読んでちょうどいいかも?
ruby書いていても思うんだけど{}とか()などの意味を持つものを省略して問題が起こるケースを考えると省略できなくていいじゃん?そんな困るか?という気持ちがある。勉強になりました。 /
Rubyもハッシュぽく見えるブロックによって意図しない挙動になるというのがあったような。 /
objectでしょと最初に思ったのでundefined。
ジャバスクリプトはやっぱり人間が扱うには難しすぎる..(´・ω・`) /
「文の結果」キモすぎ /
書き方により式と文が曖昧になってしまい、思わぬ結果になるのか。普通に書く分には影響なさそうだけど、覚えておこう… -
ブラウザに依存する系は嫌いだなー・・・ /
勉強になる。 /
実に深イイ話だった。
単純に『なぜなら、REPLの挙動は仕様で定められていないからです。』に尽きる話だと、導入部分読んだ時点で思ってしまったんだけど…
お、昨日のお気持ちを完全にまとめてくださった方がいた!
・ブロックは文であり、文は値を持たない言語
・ブロックが式である言語
・文が値を持つ言語

があるのか(PowerShell のことを思い出しながら)。
JSはこの辺りを取り上げてディスられるとマジでつらいな。authorはREPLの結果だけからJavaScriptについて議論することは危険って言ってるけども。
面白い /
ただの{ a: 10 }にも関わらず、深すぎてJavaScriptの闇を見た気がしました。JavaScriptの公式の仕様書も始めて見ました。JavaScriptの知見を広げたい方にはおすすめです。
あの仕様書、UIが質素すぎて、めちゃくちゃ読みたくないです😂
なるほど(さっぱりわからん_:(´ཀ`」 ∠):_ javascriptやっぱ無理…
暗黙の変換系は実装どころかばーぢょんによって動作が変わることもあるしなかなか扱いがめんどいのです・・・ でも毎回明示するのもめんどいのです(´・ω【みかん
昔、Tclの、{}を単なるリストリテラルで統一してifなどの「コマンド」がリストを解釈することでブロックのように見せる、という設計は綺麗だと思ったな。コンパイラ書くのが超面倒になるけど。リンク先は良記事と思う。
なるほど🤔
「{」が出てきた際に行頭ならブロック、それ以外ならオブジェクトリテラルとみなす関係で、コンソールにリテラルだけ書いたつもりがそう解釈されなかったり、ブロックは結果を持つけど代入できなかったりするのか。 / "JavaScript…"
>式10の評価結果は10なので、文10;の結果は10となります。
ふぁっ?!
o = 0; f = () => { o }; f(); みたいに書いて『つまり何?』ってなる事 稀によくある。 /
ちまたで噂のjsの{}挙動がまとまってて面白い
やはりJavaScriptは人類には難しすぎる
しゅごい記事を書き続けるなこの人は
REPLの挙動は仕様で規定されていない。ここ重要(´・ω・`) /
後半脳味噌がついていけなくなってきた。あとで読み返すか。文の結果という概念おもしろいな。do が導入されたらそこも意識しないとか。 /
おもしろい
やばい
面倒な印象が加速: - Qiita:
JSは難しい・・・。
というわけでがりがり書いた(ぇ
以上

記事本文: JavaScriptの { } を理解する - Qiita

関連記事

44コメント 9 時間前   - anond.hatelabo.jp