13
อะไรคือวิธีที่เหมาะสมในการตรวจสอบการมีอยู่ของตัวแปรในเทมเพลต EJS (โดยใช้ ExpressJS)
ในหน้า EJS github มีตัวอย่างง่ายๆเพียงตัวอย่างเดียว: https://github.com/visionmedia/ejs ตัวอย่าง <% if (user) { %> <h2><%= user.name %></h2> <% } %> ดูเหมือนว่ากำลังตรวจสอบการมีอยู่ของตัวแปรที่ชื่อผู้ใช้และหากมีอยู่ให้ทำบางอย่าง ดุใช่มั้ย? คำถามของฉันคือทำไม Node ถึงโยน ReferenceError ในโลกนี้ถ้าตัวแปรผู้ใช้ไม่มีอยู่ สิ่งนี้ทำให้ตัวอย่างข้างต้นไร้ประโยชน์ วิธีใดที่เหมาะสมในการตรวจสอบการมีอยู่ของตัวแปร ฉันคาดว่าจะใช้กลไก try / catch และคว้า ReferenceError นั้นหรือไม่ ReferenceError: user is not defined at IncomingMessage.anonymous (eval at <anonymous> (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:140:12)) at IncomingMessage.<anonymous> (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:142:15) at Object.render (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:177:13) …