TypeScript基础知识:TypeScript是什么?为什么会出现TypeScript?TypeScript相较于javascript有那些优势?

TypeScript(简称:TS)是JavaScript的超集(JS有的TS 都有)。

图解就是:

TypeScript=Type +javaScript(在JS 基础之上,为JS 添加了类型支持)。


TypeScript 是微软开发的开源编程语言,可以在任何运行JavaScript的地方运行。

那么为什么要出现typeScript呢?

1.主要原因在于javaScript属于弱语言,对变量的类型没有强制的限定,这可以带给我们很多的便利,但是同时也会在代码中不小心出现许多类型错误,也就是常见的(Uncaught TypeError)错误

这样就增加了出现Bug的概率,严重影响开发效率。

2.从编程语言的动静来区分,TypeScript属于静态类型的编程语言,JS属于动态类型的编程语言静态类型:编译期做类型检查;动态类型:执行期做类型检查。(注意代码的执行的顺序的先编译后执行),这也就代表着他们发现错误的时间是不同的,对于JS而言,此时代码已经开始执行了显然太晚了,程序已经出现了各种各样的问题,而TS是在编译的时候就已经发现了错误,此时就可以及时改动,大大节约了时间,提高了效率。

3.TypeScript相较于JS的优势是什么

1.由于类型检查的时段不同,TS能够更早(写代码的同时)发现错误,减少找Bug、改 Bug时间,提升开发效率

2.现在的编译器很先进,当你鼠标放在TS类型的变量是就会出现相关类型,程序中任何位置的代码都有代码提示。如图所示:

或者通过.一下即可找到相关的类型


3.强大的类型系统提升了代码的可维护性,使得重构代码更加容易。一旦出现后端的数据类型改变,TS就会将要改的地方都暴露出来,方便修改。

4.支持最新的 ECMAScript 语法,优先体验最新的语法,是前端的发展趋势。

5.TS存在 类型推断机制,不需要在代码中的每个地方都显示标注类型,让你在享受优势的同时,尽量降低了成本。

除此之外,Vue3 源码使用TS 重写、Angular默认支持TS、React与TS 完美配合,TypeScript已成为大中型前端项目的首先编程语言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/707354.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLMjacking:针对云托管AI大模型服务的新型攻击

Sysdig威胁研究团队(TRT)观察到一种新型攻击,命名为LLMjacking。它利用窃取的云凭证,对托管在云上的十个大型语言模型(LLM)服务发起攻击。 这些凭证是从一个流行的目标获得,即运行着一个存在漏洞的Laravel版本(CVE-2021-3129&…

Media Encoder 2024 for Mac:专业的音视频编码神器

Media Encoder 2024 for Mac,作为Mac用户的专业音视频编码工具,凭借其强大的功能和用户友好的界面,深受专业人士的喜爱。它支持将各种格式的音视频素材转换为多种流行格式,如MP4、MOV、AVI等,满足不同的播放和发布需求…

C# WinForm —— 16 MonthCalendar 介绍

1. 简介 可以选择单个日期,也可以选择一段日期,在选择时间范围上 比较适用,但不能跨月份选择日期范围 在直观上,可以快速查看、选择日期/日期范围 2. 常用属性 属性解释(Name)控件ID,在代码里引用的时候会用到,一般…

【Python探索之旅】字典

字典的基本特性 创建字典 修改字典 添加键值对 删除键值对 字典方法 遍历字典 完结撒花​ 前言 字典是 Python 中内建的一种具有弹性储存能力的数据结构,可存储任意类型对象,与序列使用整数索引不同,它使用键(key)进行索引。 通常任何不…

CSS三大选择器

CSS三大选择器 1 元素选择器2 id选择器3 class选择器 1 元素选择器 说明 根据标签名确定样式的作用范围语法为 元素名 {}样式只能作用到同名标签上,其他标签不可用相同的标签未必需要相同的样式,会造成样式的作用范围太大 代码 <head><meta charset"UTF-8&quo…

浅析张量分解(Tensor Decomposition)

文章目录 Q&A矩阵分解方法 B a s i c Basic Basic M F MF MF&#xff08;Basic Matrix Factorization&#xff09; R e g u l a r i z e d Regularized Regularized M F MF MFRegularized MF的数学推导Regularized MF 的迭代更新公式【具体理论&#xff1a;[梯度下降理论…

Java小游戏之汤姆猫

背景&#xff1a; 博主写过羊了个羊小游戏&#xff0c;客户觉得羊了个羊同学写过了&#xff0c;想换一个&#xff0c;于是笔者想到了汤姆猫。就是那个以前在苹果手机上的猫。 过程&#xff1a; 初始会有一个猫的图片展示&#xff0c;然后你点击按钮&#xff0c;猫会有不同动作…

车载以太网自动化测试套件(SOME/IP)- AETP. TC8 SOME/IP

概述 SOME/IP (Scalable service-Oriented Middleware over IP) 作为车载以太网的一种通信协议&#xff0c;在智能汽车通信领域受到广泛应用。对于应用SOME/IP协议的车内控制器来说&#xff0c;标准化的测试能够为车内通信提供更加可靠的保障。 AETP&#xff08;Automotive E…

GPT大模型不再遥不可及:本地化部署让每个人都能拥有

本地化部署是GPT发展的一个趋势。 本地化部署指的是将大模型部署在用户自己的设备上&#xff0c;而不是依赖于云服务商提供的接口。本地化部署有以下几个优势&#xff1a; 数据完全私有化&#xff0c;降低数据丢失和泄露风险&#xff0c;对数据安全性和私密性有保障。 降低使…

【iOS】RunLoop详解(二)

RunLoop详解&#xff08;二&#xff09; RunLoop 的概念RunLoop 与线程的关系RunloopRunloop与线程的关系RunLoop对外的接口Runloop的Mode应用场景举例举例说明小结 RunLoop 的内部逻辑RunLoop的底层实现苹果用RunLoop实现的功能AutoreleasePool事件响应手势识别界面更新定时器…

基于MCAL的S32K312 SPI使用

本文参考“大胡子喵喵猪”大佬《S32K312配置SPI&#xff08;基于MCAL&#xff09;》https://blog.csdn.net/m0_64944741/article/details/134930744 0、简介 相比于参考文章&#xff0c;本文基于S32K312 介绍SPI的使用&#xff0c;主要是记录开发流程&#xff0c;本文基于《基…

Winform自定义控件 —— 开关

在开始阅读本文之前&#xff0c;如果您有学习创建自定义控件库并在其他项目中引用的需求&#xff0c;请参考&#xff1a;在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用https://blog.csdn.net/YMGogre/article/details/126508042 0、引言 由于 Winform 框架并…