vue的类型判断

  1. /*
  2. 判断数据类型
  3. @param s {Object Number Function Symbol}
  4. */
  5. export const type = s => Object.prototype.toString.call(s).slice(8, -1).toLowerCase();
  6. [
  7. 'String',
  8. 'Array',
  9. 'Undefined',
  10. 'Boolean',
  11. 'Number',
  12. 'Function',
  13. 'Symbol',
  14. 'Object'
  15. ].forEach(v=>type['is'+v] = s => type(s) === v.toLowerCase())
  16. eg: type.isNumber(123) // true
  17. type.isString(123) // false

es5代码

  1. var type = function (s) {
  2. return Object.prototype.toString.call(s).slice(8, -1).toLowerCase();
  3. };
  4. var types = [
  5. 'String',
  6. 'Array',
  7. 'Undefined',
  8. 'Boolean',
  9. 'Number',
  10. 'Function',
  11. 'Symbol',
  12. 'Object'
  13. ];
  14. types.forEach(function (str) {
  15. type['is' + str] = function (val) {
  16. return type(val) === str.toLowerCase();
  17. };
  18. });
  19. module.exports = type;