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"
Работает точно так же, но никто не боится поведения Питонов.
Я думаю, что случаев, когда javascript ведет себя плохо, достаточно мало, чтобы вы могли легко их избежать. Возврат + значение на новой строке? Люди действительно так много делают?
Есть мнения? Вы используете точку с запятой в javascript и почему?
#
, а не `// '.