以下为ChatGPT自动生成的解答,正确与否请自行判断。
BFE.devAI解答 - JavaScript 代码题
20. 检测 data type
可以使用typeof
来获取基础数据类型,对于其他类型的判断可以使用instanceof
进行判断。代码如下:
function detectType(value) {
const type = typeof(value);
if (type !== 'object') {
return type;
}
if (value === null) {
return 'null';
}
if (Array.isArray(value)) {
return 'array';
}
if (value instanceof ArrayBuffer) {
return 'arraybuffer';
}
if (value instanceof Map) {
return 'map';
}
if (value instanceof Set) {
return 'set';
}
if (value instanceof Date) {
return 'date';
}
if (value instanceof Function) {
return 'function';
}
return 'object';
}
测试代码:
console.log(detectType(1)); // 'number'
console.log(detectType(new Map())); // 'map'
console.log(detectType([])); // 'array'
console.log(detectType(null)); // 'null'
console.log(detectType(new ArrayBuffer())); // 'arraybuffer'
console.log(detectType(new Set())); // 'set'
console.log(detectType(new Date())); // 'date'
console.log(detectType(function(){})); // 'function'
console.log(detectType({})); // 'object'