Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中进行跨领域类型检查的最佳方法是什么?_Javascript_Typechecking - Fatal编程技术网

在JavaScript中进行跨领域类型检查的最佳方法是什么?

在JavaScript中进行跨领域类型检查的最佳方法是什么?,javascript,typechecking,Javascript,Typechecking,我目前正在构建一个类型检查库,它支持从另一个领域(也称为不同的上下文)检查变量 对于字符串和数字等基本类型,我可以像往常一样简单地使用typeof操作符 对于像Dateinstance这样的复杂类型,使其工作的唯一方法是使用Object.prototype.toString.call()方法。但是这个方法也有它的问题,如果Symbol.toStringTag属性被覆盖,我必须遍历实例的原型链 问题是,如果Object.prototype.toString.call()返回的值第一次不匹配?为什么

我目前正在构建一个类型检查库,它支持从另一个领域(也称为不同的上下文)检查变量

对于字符串和数字等基本类型,我可以像往常一样简单地使用
typeof
操作符

对于像
Date
instance这样的复杂类型,使其工作的唯一方法是使用
Object.prototype.toString.call()
方法。但是这个方法也有它的问题,如果
Symbol.toStringTag
属性被覆盖,我必须遍历实例的原型链


问题是,如果
Object.prototype.toString.call()返回的值
第一次不匹配?

为什么不能使用
instanceof
?@connexo这是因为
instanceof
不能处理来自另一个领域的变量。为什么不能使用
instanceof
?@connexo是因为
instanceof
不能处理来自另一个领域的变量。