我想检查对象是否未定义
this.state.data.value [0] .name
我尝试了以下并且这些将说在控制台中未定义类型错误this.state.data.value。
if(typeof this.state.data.value[0].name=== "undefined"){
//do something
}
if(this.state.data.value[0].name == undefined){
//do something
}
if(!!this.state.data.value[0].name){
//do something
}
if(!this.state.data.value[0].name){
//do something
}
if(this.state){
if(this.state.value){ // It says type error, this.state.value is undefined in the console.
}
}
我应如何检查对象this.state.value [0] .name未定义?
您可以使用optional chaining(?.
)检查对象
let state = {
data: {
value: [
{name: 'value'}
]
}
}
console.log(typeof state?.data?.value?.[0]?.name);
console.log(typeof state?.data?.value?.[1]?.name);
只需使用相同的typeof函数:
if(typeof(this.state) != 'undefined'){
if(typeof(this.state.value) != 'undefined') {
// next source
}
}