eloquentjavascript.netから無料でアクセスできる「EloquentJavaScript」という本でJavaScriptを学び始めました。これまでのところ、私はこの本が本当に好きです。私が理解していないセクションが1つだけあります。これは、式とステートメントに関するものです。
http://eloquentjavascript.net/chapter2.html#p65af5913
このトピックは以前にStackOverflowで言及されたことがあることは知っていますが、これらはより具体的な質問であり、率直に言って、すべてを理解することはできません。
段落の冒頭で、著者は式とは何かを説明しています。私が正しく理解していれば、42や「23」などの原子値は式と見なされています。これらの値を演算子に適用した場合(42〜19のように)、これも式と見なされます。(明らかに23であることが判明したため、これは再びアトミック値であると思います。)これを次のように解釈します。直接入力されているか、まだ計算されていないかに関係なく、すべての値は式と呼ばれます。 。あれは正しいですか?
次に、作者は次のように述べています。「式よりも大きい単位が存在します。これはステートメントと呼ばれます。[...]ほとんどのステートメントはセミコロン(;)で終わります。最も単純な種類のステートメントは、その後のセミコロン。」例として彼は言及します
!false;例として。私の質問は、「これは何がステートメントなのか?最後のセミコロンだけなのか?」です。JavaScriptコンソールを使用する場合、セミコロンの有無にかかわらず、JavaScriptコンソールを入力してもまったく違いはありません。常にtrueを返します。しかし、著者は、「[A]ステートメントは、それが何らかの形で世界を変える場合にのみ、何かに相当する」と述べています。 したがって、与えられた例は、 「値[...] trueを生成し、すぐにビットバケットにスローする」ため、ステートメントでさえありませんか?私は今本当に混乱しています...頭の中でそれを完全に台無しにしなかった場合、ステートメントには何らかの「副作用」(変数の宣言など)が必要ですよね?
しかし、誰かが声明が何であるかを説明することができれば、私は非常に嬉しいです。また、これらの用語の区別が実際に役立つ例を誰かが挙げてくれると非常に役立ちます。なぜなら、今のところ、著者がこれらの語彙をわざわざ紹介する理由すら想像できないからです。事前にどうもありがとうございました!