ทุกคนทุกคนเวลาที่กล่าวถึงการทดสอบกับundefined
, ก็ออกมาชี้ว่าundefined
ไม่ได้เป็นคำหลักดังนั้นมันอาจจะกำหนดให้"hello"
ดังนั้นคุณควรใช้ typeof x == "undefined"
แทน นี่ดูไร้สาระสำหรับฉัน คงไม่มีใครทำแบบนั้นและถ้าพวกเขาทำมันจะมีเหตุผลเพียงพอที่จะไม่ใช้รหัสใด ๆ ที่พวกเขาเขียน ... ใช่ไหม?
ผมพบว่าตัวอย่างหนึ่งของคนที่ตั้งใจตั้งundefined
ไปnull
และนี้ได้รับเป็นเหตุผลที่จะหลีกเลี่ยงการสมมติว่าundefined
ไม่ถูกเขียนทับ แต่ถ้าพวกเขาทำเช่นนั้นข้อผิดพลาดจะไม่ถูกตรวจพบและฉันไม่เห็นว่ามันดีกว่าอย่างไร
ใน C ++ ทุกคนตระหนักดีว่าการพูดถูกกฎหมาย#define true false
แต่ไม่มีใครเคยแนะนำให้คุณหลีกเลี่ยงtrue
และใช้0 == 0
แทน คุณคิดว่าคงไม่มีใครเป็นคนขี้เหวี่ยงมากพอที่จะทำเช่นนั้นและถ้าเป็นเช่นนั้นอย่าเชื่อรหัสของพวกเขาอีกเลย
สิ่งนี้เคยกัดคนที่คนอื่นมอบหมายให้undefined
(โดยตั้งใจ) และมันทำลายรหัสของคุณหรือนี่เป็นภัยคุกคามที่สมมติขึ้นหรือไม่? ฉันยินดีที่จะใช้โอกาสในการทำให้รหัสของฉันอ่านได้ง่ายขึ้นเล็กน้อย นี่เป็นความคิดที่แย่จริงๆหรือ?
ขอย้ำอีกครั้งว่าฉันไม่ได้ถามถึงวิธีการป้องกันจากการมอบหมายใหม่ที่ไม่ได้กำหนด ฉันเคยเห็นกลเม็ดเหล่านั้นเขียนถึง 100 ครั้งแล้ว ฉันกำลังถามว่าการไม่ใช้กลอุบายเหล่านั้นอันตรายแค่ไหน