是的,instanceof 对 class有效,对interface不起作用。
原因是instanceof 需要作用于 JavaScript 对象,而interface在便已完成以后不会有任何JavaScript的代码输出,所以instanceof无法在interface中起作用。
stack overflow上有类似的问题:
https://stackoverflow.com/questions/46703364/why-does-instanceof-in-typescript-give-me-the-error-foo-only-refers-to-a-ty/46703380#46703380