作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试为可能是 jQuery 实例的变量应用类型保护。但是,由于 JQuery
是来自 jquery.d.ts
的接口(interface),我不能将它与 instanceof
一起使用。以下代码似乎不起作用,我猜是因为 TS 不“知道”作为 jQuery
的实例意味着作为 JQuery
接口(interface)的“实例”。
var stringOrJQuery: string | JQuery;
...
if (stringOrJQuery instanceof jQuery) {
...
// here stringOrJQuery is still string | JQuery
...
}
我正在使用 TS 2.0 测试版。
最佳答案
您可以检查字符串大小写:
if(typeof stringOrJQuery === 'string') {
// string case
}
else {
// jquery case case
}
或者,您可以通过像the ones described in this question's answers 这样的间接检查来确定jQuery 对象。 ,例如:
if(stringOrJQuery.jquery !== undefined) { ... // this is a jQuery object
jquery
field jQuery 对象的 包含 jQuery 版本并且应该被定义。
关于jquery - 如何为 jQuery 实例应用类型保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38827000/
我是一名优秀的程序员,十分优秀!