Mỗi khi bất kỳ ai đề cập đến thử nghiệm chống lại undefined
, nó chỉ ra rằng đó undefined
không phải là một từ khóa để nó có thể được đặt thành"hello"
, vì vậy bạn nên sử dụng typeof x == "undefined"
thay thế. Điều này có vẻ vô lý đối với tôi. Sẽ chẳng có ai làm điều đó cả, và nếu họ làm vậy thì sẽ đủ lý do để không bao giờ sử dụng bất kỳ đoạn mã nào họ đã viết ... đúng không?
Tôi tìm thấy một ví dụ của một ai đó vô tình cài đặt undefined
để null
, và điều này đã được đưa ra như một lý do để tránh giả định rằng undefined
không được ghi đè. Nhưng nếu họ làm điều đó, lỗi sẽ không bị phát hiện và tôi không biết làm thế nào tốt hơn.
Trong C ++, mọi người đều biết rằng việc nói đó là hợp pháp #define true false
, nhưng không ai khuyên bạn nên tránh true
và sử dụng 0 == 0
thay thế. Bạn cứ cho rằng không ai đủ lớn để làm điều đó, và nếu họ làm vậy, đừng bao giờ tin tưởng mã của họ nữa.
Điều này đã bao giờ thực sự cắn ai đó ở nơi người khác được chỉ định undefined
(có chủ đích) và nó phá mã của bạn hay đây là một mối đe dọa giả định hơn? Tôi sẵn sàng tận dụng cơ hội của mình để làm cho mã của tôi dễ đọc hơn một chút. Đây có phải là một ý tưởng thực sự tồi?
Để nhắc lại, tôi không yêu cầu làm thế nào để bảo vệ chống lại không xác định được chỉ định lại. Tôi đã thấy những thủ thuật đó được viết 100 lần rồi. Tôi đang hỏi rằng nó nguy hiểm như thế nào nếu không sử dụng những thủ thuật đó.