Javascript có một tính năng gọi là Chèn dấu chấm phẩy tự động trong đó về cơ bản nếu trình phân tích cú pháp gặp mã thông báo không hợp lệ và mã thông báo cuối cùng trước đó là ngắt dòng, thì trình phân tích cú pháp sẽ chèn dấu chấm phẩy nơi ngắt dòng. Điều này cho phép bạn về cơ bản viết tất cả mã javascript của bạn mà không có dấu chấm phẩy, nhưng bạn phải biết một số trường hợp cạnh, chủ yếu là nếu bạn có một từ khóa trả về và sau đó là giá trị bạn muốn trả về trên một dòng mới.
function test(){
// This will return 'undefined', because return is a valid statement
// and "john" is a valid statement on its own.
return
"john"
}
Bởi vì những vấn đề này, có hàng tá bài viết với tiêu đề như 'Tự động chèn dấu chấm phẩy là Ác quỷ', 'Luôn sử dụng dấu chấm phẩy trong Javascript', v.v.
Nhưng trong Python không ai từng sử dụng dấu chấm phẩy và nó có chính xác các vấn đề tương tự.
def test():
# This will return 'undefined', because return is a valid statement
# and "john" is a valid statement on its own.
return
"john"
Hoạt động giống hệt nhau, nhưng không ai sợ chết khiếp hành vi của Pythons.
Tôi nghĩ rằng các trường hợp javascript hoạt động kém là đủ để bạn có thể tránh chúng dễ dàng. Trả về + giá trị trên một dòng mới? Mọi người có thực sự làm điều đó rất nhiều?
Có ý kiến gì không? Bạn có sử dụng dấu chấm phẩy trong javascript không và tại sao?
#
, không phải `// '.