打印稿是带有类型语法的JavaScript。

TypeScript是一种基于JavaScript的强类型编程语言,可以在任何规模下为你提供更好的工具。

                  
ts
常量 用户 = {
firstName “安琪拉”
“戴维斯”
角色 “教授”
 
控制台 日志 用户 名字
属性'name'不存在类型'{firstName: string;姓:字符串;作用:字符串;}”。2339属性'name'不存在类型'{firstName: string;姓:字符串;作用:字符串;}”。
 
                  
ts
常量 用户 = {
firstName “安琪拉”
“戴维斯”
角色 “教授”
 
控制台 日志 用户 名字
属性'name'不存在类型'{firstName: string;姓:字符串;作用:字符串;}”。2339属性'name'不存在类型'{firstName: string;姓:字符串;作用:字符串;}”。
 

TypeScript 5.4现在可用,5.5目前处于测试阶段。

什么是TypeScript?

JavaScript和更多

TypeScript为JavaScript添加了额外的语法,以支持与编辑器更紧密的集成。尽早在编辑器中发现错误。

一个你可以信任的结果

TypeScript代码转换成JavaScript,可以在JavaScript运行的任何地方运行:在浏览器中,在Node.js或Deno上,在你的应用程序中。

规模化安全

TypeScript理解JavaScript,并使用类型推断为您提供出色的工具,而无需额外的代码。

逐步采用TypeScript

增量地将类型应用到JavaScript项目中,每一步都可以改进编辑器支持并改进代码库。

让我们以这些错误的JavaScript代码为例,看看TypeScript是如何在编辑器中捕捉错误的。

                    
js
函数 紧凑的 加勒比海盗 ) {
如果 奥尔 长度 > 10
返回 加勒比海盗 修剪 0 10
返回 加勒比海盗

JavaScript文件中没有编辑器警告。这段代码在运行时崩溃!

JavaScript文件

                    
js
/ / @ts-check
 
函数 紧凑的 加勒比海盗 ) {
如果 奥尔 长度 > 10
找不到名称“orr”。2304找不到名称“orr”。
返回 加勒比海盗 修剪 0 10
返回 加勒比海盗

将它添加到JS文件中会显示编辑器中的错误

参数是arr,不是orr!

JavaScript与TS检查

                    
js
/ / @ts-check
 
/ * * @param {任何[]} 加勒比海盗 * /
函数 紧凑的 加勒比海盗 ) {
如果 加勒比海盗 长度 > 10
返回 加勒比海盗 修剪 0 10
属性'trim'在类型'any[]'上不存在。2339属性'trim'在类型'any[]'上不存在。
返回 加勒比海盗

使用JSDoc提供类型信息

现在TS发现了一个错误的决定。数组有slice,没有trim。

JavaScript与JSDoc

                    
ts
函数 紧凑的 加勒比海盗 字符串 []) {
如果 加勒比海盗 长度 > 10
返回 加勒比海盗 0 10
返回 加勒比海盗

TypeScript为提供类型添加了自然语法

打字稿文件

描述你的数据

描述代码中对象和函数的形状。

使在编辑器中查看文档和问题成为可能。

             
ts
接口 账户 {
id 数量
displayName 字符串
版本 1
 
函数 欢迎 用户 账户 ) {
控制台 日志 用户 id
             
ts
类型 结果 = “通过” | “失败”
 
函数 验证 结果 结果 ) {
如果 结果 === “通过” ) {
控制台 日志 “通过”
其他的 {
控制台 日志 “失败”

TypeScript通过delete键变成JavaScript。

             
ts
类型 结果 = “通过” | “失败”
 
函数 验证 结果 结果 ) {
如果 结果 === “通过” ) {
控制台 日志 “通过”
其他的 {
控制台 日志 “失败”
 

打字稿文件。

             
ts
类型 结果 = “通过” | “失败”
 
函数 验证 结果 结果 ) {
如果 结果 === “通过” ) {
控制台 日志 “通过”
其他的 {
控制台 日志 “失败”
 

类型被删除。

             
js
 
 
函数 验证 结果 ) {
如果 结果 === “通过” ) {
控制台 日志 “通过”
其他的 {
控制台 日志 “失败”
 

JavaScript文件。

打印稿感言

首先,我们对在转换代码时发现的小错误数量感到惊讶。

其次,我们低估了编辑器集成的强大程度。

TypeScript对我们的稳定性和理智来说是一个福音,我们在开始转换的几天内就开始在所有的新代码中使用它。

Slack的Felix Rieseberg在他们的博客中介绍了桌面应用从JavaScript到TypeScript的过渡

深受开发者喜爱

Image of the stack overflow logo, and a graph showing TypeScript as the 2nd most popular language

在Stack Overflow 2020开发者调查中被评为第二受欢迎的编程语言

Logo of the State of JS survey

在2020年JS状态的受访者中,78%的人使用TypeScript, 93%的人表示他们会再次使用它。

TypeScript凭借同比增长获得了“最受欢迎技术”奖。