Javascript 在应用程序vue中检测未定义/空对象属性
在应用程序vue中检测未定义/空对象属性 我无法解决未定义的对象问题 我正在将vue应用程序与esLint一起使用。但我相信这只能通过javascript来解决 谢谢你们Javascript 在应用程序vue中检测未定义/空对象属性,javascript,vue.js,vuejs2,eslint,Javascript,Vue.js,Vuejs2,Eslint,在应用程序vue中检测未定义/空对象属性 我无法解决未定义的对象问题 我正在将vue应用程序与esLint一起使用。但我相信这只能通过javascript来解决 谢谢你们 var Data = (typeof data.method.expiration_date !== 'undefined') ? date.formatDate(String(data.method.expiration_date), 'DD/MM/YYYY') : '' 错误: Uncaught (in promise)
var Data = (typeof data.method.expiration_date !== 'undefined') ? date.formatDate(String(data.method.expiration_date), 'DD/MM/YYYY') : ''
错误:
Uncaught (in promise) TypeError: Cannot read property 'expiration_date' of null
您需要在访问对象的属性之前添加检查,这里我使用
&&
操作符()在访问它之前检查值的存在性
var exp_data = data && data.methoda && data.method.expiration_date
var Data = (typeof exp_data !== undefined && typeof exp_data !== undefined ) ? date.formatDate(String(exp_data), 'DD/MM/YYYY') : ''
在这种情况下,您需要测试任何假值,然后您可以简单地使用它
var exp_data = data && data.methoda && data.method.expiration_date
var Data = exp_data ? date.formatDate(String(exp_data), 'DD/MM/YYYY') : ''
您可以使用:
var Data=(Data.method&&Data.method.expiration\u date)?date.formatDate(字符串(data.method.expiration_date),'DD/MM/YYYY'):''
检查
数据.method
是否存在,在引用数据.method.expiration\u date
之前,只需在方法中没有过期日期即可。数据
因此,首先检查它是否存在,然后执行您的操作
var Data = (data.method && data.method.expiration_date) ? date.formatDate(String(data.method.expiration_date), 'DD/MM/YYYY') : '';
可能重复的