> 类型:基础知识 > 难度:★ **实现 `isObject(X)`, `isString(X)`, `isArray(X)` 三个方法,用以判断是否为对应类型,返回布尔值** **测试用例:** ```js isObject([1, 2]); // false isString(123); // false isArray({a: 1}); // false isObject({a: 1}); // true isString('123'); // true isArray([1, 2]); // true ``` ---- **参考答案:** 非常有价值的一段代码,类型判断的神码,函数柯里化的入门级教学代码。(来自 seajs 源码) ```js function isType(type) { return function(obj) { return Object.prototype.toString.call(obj) === '[object ' + type + ']' } } var isObject = isType('Object'); var isString = isType('String'); var isArray = Array.isArray || isType('Array'); ```
Activity
AMY-Y commentedon May 22, 2019