Javascriptには自動セミコロン挿入と呼ばれる機能があり、基本的にパーサーが無効なトークンに遭遇し、その前の最後のトークンが改行であった場合、パーサーは改行があるセミコロンを挿入します。これにより、基本的にすべてのjavascriptコードをセミコロンなしで記述できますが、主にreturnキーワードがあり、次に改行で返す値がある場合は、いくつかのエッジケースに注意する必要があります。
function test(){
// This will return 'undefined', because return is a valid statement
// and "john" is a valid statement on its own.
return
"john"
}
これらの落とし穴があるため、「自動セミコロン挿入は悪」、「Javascriptでは常にセミコロンを使用」などのタイトルの記事が多数あります。
しかし、Pythonでは誰もセミコロンを使用せず、まったく同じ落とし穴があります。
def test():
# This will return 'undefined', because return is a valid statement
# and "john" is a valid statement on its own.
return
"john"
まったく同じように動作しますが、Pythonの動作を恐れる人はいません。
JavaScriptの動作が悪い場合は、それらを簡単に回避できるほど十分ではないと思います。新しい行に+値を返しますか?人々は本当にそれをたくさんしますか?
意見はありますか?javascriptでセミコロンを使用していますか?その理由は?
#
、「//」ではなく、です。