JavaScript ma funkcję o nazwie Automatyczne wstawianie średnika, w której w zasadzie jeśli parser napotka niepoprawny token, a ostatni token przed nim był łamaniem linii, wówczas parser wstawi średnik tam, gdzie jest podział linii. Umożliwia to w zasadzie pisanie całego kodu javascript bez średników, ale trzeba pamiętać o niektórych przypadkach krawędzi, głównie jeśli masz słowo kluczowe return, a następnie wartość, którą chcesz zwrócić w nowym wierszu.
function test(){
// This will return 'undefined', because return is a valid statement
// and "john" is a valid statement on its own.
return
"john"
}
Z powodu tych błędów istnieją dziesiątki artykułów o tytułach takich jak „Automatyczne wstawianie średnika jest złe”, „Zawsze używaj średników w JavaScript” itp.
Ale w Pythonie nikt nigdy nie używa średników i ma dokładnie takie same gotchas.
def test():
# This will return 'undefined', because return is a valid statement
# and "john" is a valid statement on its own.
return
"john"
Działa dokładnie tak samo, a jednak nikt nie boi się śmiertelnie zachowania Pythona.
Myślę, że przypadki, w których javascript zachowuje się źle, są na tyle mało, że powinieneś być w stanie łatwo ich uniknąć. Zwrot + wartość w nowej linii? Czy ludzie naprawdę tak często robią?
Jakieś opinie? Czy używasz średników w javascript i dlaczego?
#
nie `// '.