首页 > 其他分享 >TS备忘录

TS备忘录

时间:2023-02-01 14:34:53浏览次数:53  
标签:string number TS 备忘录 let 类型 type name

前言

不做笔记不学习

一个线上的TypeScript练习地址:TypeScript Playground

为什么要有 TypeScript

TypeScriptJavaScript的超集,因为它扩展了JavaScript,有JavaScript没有的东西。硬要以父子类关系来说的话,TypeScriptJavaScript子类,继承的基础上去扩展。

TypeScript诞生的根本原因是JavaScript是弱类型语言(可以隐性的进行语言类型转变),无法做到在编译阶段进行类型检查,提早发现错误。

TypeScript的初衷就是为了做类型检查,提早发现错误,所以「类型」是其最核心的特性。当然它只是给出你代码可能不会按预期执行的警告,比如你未按照声明的类型传参,你的代码还是可以运行的。这一点与强类型语言还是有本质的区别,强类型语言会直接导致编译不通过,因为TypeScript只是转译。

JavaScript不同,TypeScript文件后缀使用 .ts扩展名。浏览器是不识别 .ts 文件,所以使用时必须提前把 TS 代码转换成 JavaScript 代码。这个转换过程被称为转译编译转译的微小差别在于:

  • 编译是把源码转变成另一种语言
  • 转译是把源码转变另一个相同抽象层级的语言

我是不喜欢TypeScript的,因为在我看来它导致了这么几个问题:

  1. 学习成本增加;
  2. 代码量增加;
  3. 代码复杂度增加

当然TypeScript带来的收益是可观的,静态检查使得提前发现错误,在前端工程化开发的今天确实有必要,因为团队成员技术水平参差不齐,TypeScript可以帮助避免很多错误的发生,当然如果你是any大法的信仰者,我劝你善良。不要为了用TypeScript而用TypeScript,用它的前提一定要是它能帮你解决特定的问题。

我又是喜欢TypeScript的,因为它是先进的JavaScript

TypeScript提供最新的和不断发展的JavaScript特性,包括那些来自2015年的ECMAScript和未来的提案中的特性,比如异步功能和Decorators,以帮助建立健壮的组件。

老实说,两年前我就看过这玩意

标签:string,number,TS,备忘录,let,类型,type,name
From: https://www.cnblogs.com/cczlovexw/p/17082471.html

相关文章

  • echarts大屏开发屏幕适配方案
    参考https://blog.csdn.net/qq_56580072/article/details/1275523921、vscode安装pxtorem&rpx&vw2、设置字体16px 3、引入flexibleimport'@/utils/flexible......
  • requests库和BeautifulSoup库
    requests库requests是一个基于HTTP协议来使用网络的第三库安装pipinstallrequests主要方法方法说明requsts.get()获取网页,对应HTTP中的GET方法requst......
  • Qt QString::contains() QString::startsWith() 在字符串中检索字符串
    函数QString::startsWith()判断一个字符串是否以某个字符串开头。此函数具有两个参数,第一个参数指定了一个字符串,第二个参数指定是否大小写敏感(默认情况下,是大小写敏......
  • 堆gadgets寻找之路
    限制堆块数量10、申请大小0x100、uaf程序非要在root下运行​​但root下各种不顺,环境问题居然是最吃时间最ex的问题​​非要在root下打十分影响gdb调试在网上查了大半......
  • C++ traits 萃取的一些简单理解
    摘取自<effectivec++>  ......
  • BrootStrap学习笔记
    BrootStrap学习笔记  col-xs/col-sm/col-md/col-lg/col-xl总结*表示当前div所占的列数(共12列);col-sm-3表示该div在小屏幕中占6列,.col-xs-*column-extrasmal......
  • 题解 【[USACO23JAN] Lights Off G】
    problem给两个长为\(n\)的0/1字符串\(S,T\),进行如下操作\(cnt\)次:自行选定\(0\leqx<n\),使得\(T_x\)异或一。将\(S\)异或上\(T\)。将\(T\)的最后一位......
  • 23. Merge k Sorted Lists[Hard]
    23.MergekSortedListsYouaregivenanarrayofklinked-listslists,eachlinked-listissortedinascendingorder.Mergeallthelinked-listsintoonesor......
  • requests.exceptions.ChunkedEncodingError: ("Connection broken: InvalidChunkLengt
    Traceback(mostrecentcalllast):File"D:\code_tool\spiderYesmro3\venv\lib\site-packages\urllib3\response.py",line761,in_update_chunk_lengthself.c......
  • TS 封装 Axios
    前言Axios的二次封装是一项基础工作,主要目的就是将一些常用的功能进行封装,简化后续网络请求的发送。JS版本的封装大家都已经非常熟悉了,可以信手拈来。但是使用 TypeSc......