问答详情
源自:1-6 完成向TypeScript的改造

改写的TS中grid.js中的check方法中的data赋值

在之前的JS版中toArray不是也是返回的HTMLIElement数组吗?HTMLIElement没有toArray方法,为什么那个能通过,而在TS版中就不可以

提问者:慕粉3221337 2017-11-12 22:57

个回答

  • 边城
    2017-11-15 18:21:14
    已采纳

    JS 没有类型检查,而 TS 进行了类型检查。由于 TypeScript 中 JQuery 的类型定义中它的 map 结果是一个 HTMLElemnt 数组,所以不能直接赋值给其它数组类型。实际数据在这里其实已经不是 HTMLElement 数组了,JS 运行时检查可以通过,但是 TS 转译期检查不能通过(因为类型转不过去)。TS 是按声明来检查,JS 是运行时按实际结果来检查,这应该就是主要区别。

  • 慕UI6203941
    2017-11-13 15:26:48

    rrrrrr