【前端必备】原来 TS 中 declare 的作用是这样的!

作者: 阿宝哥聊技术分类: 计算机技术 发布时间: 2022-05-29 19:50:10 浏览:16405 次

【前端必备】原来 TS 中 declare 的作用是这样的!

moyufed:
我发布了一篇笔记,快来看看吧 【学习笔记】【前端必备】原来 TS 中 declare 的作用是这样的! 在用 TypeScript 开发项目的过程中你可能会遇到需要用 <scri... https://www.bilibili.com/h5/note-app/view?cvid=16886870&pagefrom=comment

涛声依旧VIP:
我一个滑铲,重力大炮上去一个ts,拐着弯过去捡队友狗牌[doge]

【回复】我每次看见apex的ts也会想到这个ts[笑哭]
恒荣耀小程序:
d.ts 文件内 哪些情况不需要加 declare呢?

TheHatefulEight:
up主您好,我在用ts-node 联系ts时 在文件夹内建立.d.ts文件 其内部声明的类型 还是不能被其他文件所识别,执行的时候会报错 error TS2304。请问该如何解决呢

爱番茄酱不爱番茄君:
哥哥,没有说清楚啊,[笑哭]里面那些const css:string,expor default那些作用又是啥,你刚刚说这样做是为了识别import文件的后缀名,那为什么axios也要这样写[大哭]

狸猫男人:
讲的挺好的,ts结尾和.d.ts结尾内declare出来的作用也是不同的

一个凡星:
ts用了一年了,感觉获得的优势并没有大于增加的开发成本

【回复】回复 @一个凡星 :至于接口字段类型string,结果返回object的,可能会有人疑惑,我举个例子,原本user:'张三' 返回 user:{ label:"张三" },就需要前端判断当user字段不为string类型时,则取其中的label字段。别问,问就是技术部老大是后端,后端话语权重,前端是后妈生的。
【回复】回复 @DaftJayee :那我总结下本人使用过程中不好的感受,以及好的感受: 1.接口需要在前端定义一边类型,(虽然有 json to ts插件可以快速转ts类型,但是不会保留注释) 2.当后面接口发生更改(加减改字段),那么前端定义的类型也需要更改。一些特殊的业务模块可能本身就是需要动态展示后端接口字段内容,例如通过(Objecjt.keys),这种没有直接显示属性调用,所以不更改对应的类型声明也不会报错,但是这无疑是在增加后期维护的隐性成本,(或许有人说可以直接执行{【x:string】:any}这种,那么如果都采用这种解决方式,这个和anyscript有什么区别?) 3.公司并不是所有人都会ts,而且对ts 每个人的理解和要求都不统一,有的人只要tslint不报错就可以,有的人则对类型的规范要求比较高,把ts用成anyscript大有人在,当多个人开发同一个项目,有一个是anyscript开发大法,那么你就知道有多痛苦了, 4.有些中小型项目,总过就那么点业务量,后期也不会再有迭代的需求,开发周期极其短,一周10个页面的我都遇到过,这种从后期维护角度上将没必要用ts的,那么还是强行用ts只会拖累开发速度,小型项目js的开发速度是ts的至少1.5倍。 5.vue生态于ts的兼容,首先有一点是可以确认的,vue的生态的确是可以用ts的,即使是vue2,但是需要额外的插件,这种几乎都是在强行支持ts,即使是vuex4,也没有很好的类型定义写法,state中的数据的类型定义需要额外自己写类型声明文件(可以去官网自己看),vue3也不用说,ts的支持的确比vue2好,但是依然没有react用的那么丝滑,或许有人说为什么不用react,很简单,公司大部分人用的vue,不可能让后期来维护你项目的人再去学习react,技术主管不会同意。
【回复】回复 @一个凡星 :大佬讲的很详细 在用的时候真的有在仔细思考
许泽鸿:
vue3这样扩展axios之后,就不能识别watch等vue的函数了

吕布上海:
我是刚知道json,math,object这三个全局变量。它们有啥用

科技猎手 科技 教程 TypeScript教程 前端 TS 计算机技术 TypeScript 编程开发

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!