开发中,针对接口返回的数据,要不要做兼容,可以查看以下示例;
基本数据类型为string
、number
、boolean
都有属性,但是属性值为 undefined;
基本数据类型为null
、undefined
没有属性,会 报错
arr
、object
都有属性,属性值 视情况而定
// 对象
const obj = {
attribute1: {
a: 1,
b: 2
},
attribute2: 2,
attribute3: 'Jayson',
attribute4: [1, 2, 3],
attribute5: null,
attribute6: undefined,
attribute7: false,
};
console.log('obj.length', obj.length); // undefined
console.log('obj.property', obj.property); // undefined
// 数组
const arr = [1, 2, 3];
console.log('==>arr.property', arr.property); // undefined
const num2 = 2;
console.log('===>arr[num2]', arr[num2]); // 3
// 字符串
const string = 'Jayson';
console.log('===>string.property', string.property); // undefined
// number
const numSymbol = 3;
console.log('==>numSymbol.property', numSymbol.property); // undefined
// 布尔值
const booleanSymbol = false;
console.log('==>booleanSymbol.property', booleanSymbol.property); // undefined
// null
const nullSymbol = null;
console.log('==>nullSymbol.property', nullSymbol.property);
// TypeError: Cannot read property 'property' of null
// undefined
const undefinedSymbol = undefined;
console.log('===>undefinedSymbol', undefinedSymbol.property);
// Cannot read property 'property' of undefined