类型系统

基本类型

类型系统_第1张图片
primitive types

typeof

  • 可识别标准类型(Null除外)
  • 不能识别具体对象类型(function除外)
类型系统_第2张图片
typeof

Object.prototype.toString

  • 可识别标准类型及内置(build-in)对象类型
  • 不能识别自定义类型
类型系统_第3张图片
Object.prototype.toString

constructor

  • 识别标准类型(undefined/null除外)
  • 识别内置对象类型
  • 识别自定义类型
类型系统_第4张图片
constructor

instanceof

  • 判别内置对象类型
  • 不能判别原始类型
  • 判别自定义类型
类型系统_第5张图片
instanceof

实现type函数用于识别标准类型和内置对象类型,语法如下:

var t = type(obj);

使用举例如下:

var t = type(1) // t==="number"
var t = type(new Number(1)) // t==="number"
var t = type("abc") // t==="string"
var t = type(new String("abc")) // t==="string"
var t = type(true) // t==="boolean"
var t = type(undefined) // t==="undefined"
var t = type(null) // t==="null"
var t = type({}) // t==="object"
var t = type([]) // t==="array"
var t = type(new Date) // t==="date"
var t = type(/\d/) // t==="regexp"
var t = type(function(){}) // t==="function"

代码如下




    
    typeof
    


你可能感兴趣的:(类型系统)