学习 typescript

19 Dec 2023 - tianyw0

现代前端开发几乎绕不开Typescript,我今天抽时间看了菜鸟教程上的Typescript教程,菜鸟教程能帮我很快了解这门语言的大致轮廓。下面是几点感受:

这门语言跟Golang非常相似,尤其是函数部分,他们都跟java不一样,函数是一等公民。我着重看了下声明函数参数的部分,因为在看antfu直播的时候觉得很陌生;

循环的部分,不仅有forin,foreach这些常规的,还有every和some,这种函数式编程的体验很奇特,让人舒服;

模块设计以及可见性,跟Golang有很大的不同,但也只是手段上的不同,Typescript需要手写export指令进行暴露模块使得外界可见,外界使用import进行引用。原生Javascript中也有模块系统,在nodejs和浏览器运行时分别是不同的模块系统实现,nodejs运行时是commonJS实现,浏览器运行时是requireJS实现。

Typescript的d.ts文件,这个文件在nuxt项目中看到过一度不能理解什么意思,d.ts文件的作用是方便typescript代码引用javascript世界的现成的程序库,这个d.ts相当于给被引用的javascript库做了一个索引,以便ts程序使用。这也解释了为什么nuxt项目中的filenesting名字是shimes.d.ts,这里的shims的字面意思就是“垫片”,螺栓和螺母之间有了垫片会工作地更好。

但是ts的声明是使用 /// <reference path = "Calc.d.ts" />,这个后面需要留意下。