TypeScript 第一站概念篇

news2024/11/26 2:52:02

前言

🔮 好长一段时间没有写文章了,原因是经历了一次工作变动,加入了一个有一定规模的开发团队,前端算上我有四个人,很欣慰,体验一下团队配合的感觉,在我之上有一个组长,比我年长四岁,负责canvas项目的开发,我负责一个canvas项目的重构和升级,终于用上和体验到了TypeScript的快感,之前的公司都是我一个人乱用,实在不成气候,借此机会,我重新输出关于TS的专栏,输出自己学习过程的知识记录和感想感悟。

为什么要学TS, 大家为什么在用TS

TypeScript 是 JavaScript 的超集, 可以理解为是对JavaScript的一种扩展,可以编译为纯JavaScript,在任何浏览器、集群(服务器)、操作系统上面都可以运行,而且还开源。使用Ts会使JavaScript的开发环境更安全,开发过程更健壮。

那么大家为什么用TS, 我的前端入门就学的JS,还得专门去学TS, 真的很难为人,笔者在初学TS时,就是这样的想法,但是随着时间的推移,内心的想法也发生了很多变化,既然这么麻烦,大家还都在用,市场还这么火热,肯定有它的魅力所在,我一定要揭开这个疑问,那么它有哪些魅力呢?

● 类型批注和编译时类型检查
● 类型推断
● 类型擦除
● 接口
● 枚举
● Mixin
● 泛型编程
● 名字空间
● 元组
● Await

… 这里不全部举出,TS 带给我们的优势是可以在运行时检查JS语法及环境问题,在开发过程中就规避掉很多问题,其次是它所带来的可维护、扩展性。尤其是对于大项复杂项目,多成员团队,TS都是一个绝对的利器,初学时可能会觉得它是一个负担,其实如果有优秀的设计思想,TS会让我们的开发更加效率和健壮,例如我们在开发时,所需要的需求设计,思路走查,其实这个时候就可以利用TS来贯通逻辑,并且实现初期的类型设计。

那么TS到底是怎样一个概念呢,这里我有几张从网上看到很好的图,借用此处

简单版
在这里插入图片描述
复杂版
在这里插入图片描述
可以看到,站在TS的角度去看待脚本的运行过程,TS虽然好,其毕竟是开发过程中的一个工具,在使用时也要根据实际场景,实际需求,团队技术能力等指标去衡量是否使用,时间问题今天的分享就到这里,后面我会逐渐随着我的学习,慢慢将更多有趣、生动的学习过程分享出来。

TypeScript 中文文档
TypeScript 英文文档

最后

📚 TypeScript专栏
☃️ 个人简介:一个喜爱技术的人。
🌞 励志格言: 脚踏实地,虚心学习。
❗如果文章还可以,记得用你可爱的小手点赞👍关注✅,我会在第一时间回、回访,欢迎进一步交流。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Portraiture4.0介绍与插件安装包下载

相信有很多需要经常进行图像处理的小伙伴的电脑上都有一款PS软件吧,PS的功能非常强大,各种细节处理都非常细致,但还是需要一些插件来帮我们快速处理图片,能够省去很多时间和精力。今天给大家介绍一款PS磨皮插件,能够快…

【Linux】进程等待

文章目录 进程等待进程等待必要性实验(见见猪跑)进程等待的方法wait方法waitpid**方法**宏的使用方法获取子进程status 阻塞VS非阻塞概念对比非阻塞有什么好处 具体代码实现进程的阻塞等待方式:进程的非阻塞等待方式:让父进程做其他任务 进程等待 进程等待必要性 之前讲过&am…

2023腾讯云双11优惠3年轻量2核2G4M服务器366.6元,三年价哦!

腾讯云3年轻量应用服务器配置为2核2G4M带宽、50GB SSD系统盘双11优惠价格366.6元三年、108元一年,只是限制月流量,套餐自带300GB月流量。腾讯云百科txybk.com分享2023腾讯云双11优惠活动3年轻量2核2G4M带宽优惠价格、购买条件: 3年轻量2核2G…

大模型的“成本瘦身”运动

数据大、参数量大、算力大,大模型的某些能力才会“涌现”,这一点在科技圈广为流传。 做大模型的主流思想是:不要轻易说模型“不行”,如果“它还没行”,那就做得更大一点。 所以,不到一年的时间,…

MySQL InnoDB数据存储结构

1. 数据库的存储结构:页 索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都是保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL服务器上的存储引擎负责对表中数据的读…

Visual Studio使用Git忽略不想上传到远程仓库的文件

前言 作为一个.NET开发者而言,有着宇宙最强IDE:Visual Studio加持,让我们的开发效率得到了更好的提升。我们不需要担心环境变量的配置和其他代码管理工具,因为Visual Studio有着众多的拓展工具。废话不多说,直接进入正…

佳易王商超便利店等会员快速积分、积分兑换管理系统软件下载

佳易王商超便利店等会员快速积分、积分兑换管理系统软件下载 一、佳易王会员管理软件大众版 部分功能简介: 1、会员信息登记 :可以直接使用手机号登记,也可以使用实体卡片,推荐用手机号即可。 2、会员卡类型 :可以自…

6.Spark共享变量

概述 共享变量 共享变量的工作原理Broadcast VariableAccumulator 共享变量 共享变量的工作原理 通常,当给 Spark 操作的函数(如 mpa 或 reduce) 在 Spark 集群上执行时,函数中的变量单独的拷贝到各个节点上,函数执行时,使用…

074基于web+springboot的智能物流管理系统

欢迎大家关注,一起好好学习,天天向上 文章目录 一项目简介技术介绍 二、功能组成三、效果图四、 文章目录 一项目简介 本智能物流管理系统有管理员,顾客,员工,店主。功能有个人中心,顾客管理,员…

零基础Linux_25(多线程)信号量+基于环形队列的生产消费模型+自选锁+读写锁

目录 1. 信号量 1.1 信号量和信号量操作的概念 1.2 信号量的基本使用接口 2. 基于环形队列的生产者消费者模型 2.1 环形队列再分析 2.2 代码分步实现 sem.hpp ringQueue.hpp testMain.cc 2.3 代码解析和再理解 3. 自旋锁和读写锁 3.1 自旋锁的概念和接口 3.2 读写…

腾讯云3年轻量应用服务器涨价了?阿里云降价腾讯云涨?

2023双11云服务器优惠活动上线,腾讯云3年轻量应用服务器价格非常优惠,阿里云双11活动上是后上的,阿里云推出一款新老用户均可以购买的云服务器ECS经济型e实例,2核2G3M固定带宽,一年只要99元,第二年续费依旧…

0基础学编程从哪里入手?零基础学些代码怎么入手

0基础学编程从哪里入手?零基础学些代码怎么入手? 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件,而且可以开发大型的软件,向如图…

LangChain安装和入门案例

一、介绍 LangChain是一个用于开发由语言模型驱动的应用程序的框架 官网 https://www.langchain.com/ 中文官网 https://www.langchain.com.cn/ python langchain https://python.langchain.com.cn/docs/get_started/introduction https://python.langchain.com/docs/ge…

小程序使用echarts(超详细教程)

小程序使用echarts第一步就是先引用到小程序里面,可以直接从这里下载 文件很多,我们值下载 ec-canvas 就好,下载完成后,直接放在pages同级目录下 index.js 在我们需要的页面的 js 文件顶部引入 // pages/index/index.js impor…

项目管理之如何估算项目工作时间

在项目管理中,项目工作时间的估算是一个关键环节,它直接影响到项目的进度、预算和资源分配。本文将介绍几种常用的时间估算技术和时间估算的十步法,帮助你更好地估算项目工作时间。 常用时间估算技术 类比估算 参照以往同类同规模项目时间数…

01_stable_diffusion_introduction_CN

stable_diffusion 配置 !pip install -Uq diffusers ftfy accelerate# Installing transformers from source for now since we need the latest version for Depth2Img: !pip install -Uq githttps://github.com/huggingface/transformers import torch import requests fro…

项目实战:删除特定水果库存记录

1、在index.js中添加删除点击事件 1.1、common.js function $(key){if(key){if(key.startsWith("#")){key key.substring(1)return document.getElementById(key)}else{let nodeList document.getElementsByName(key)return Array.from(nodeList)}} } window.onloa…

c语言从入门到实战——VS2022实用调试技巧

VS实用调试技巧 前言1. 什么是bug2. 什么是调试(debug)3. Debug和Release4. VS调试快捷键4.1 环境准备4.2 调试快捷键 5. 监视和内存观察5.1 监视5.2 内存 6. 调试举例17. 调试举例28. 编程常见错误归类8.1 编译型错误8.2 链接型错误8.3 运行时错误 前言…

UI自动化测试:会消失的弹窗(Toast)如何定位?

前言 看到标题可能有的小伙伴们懵了,什么是Toast,其实Toast大家都见过,就是一般在我们页面中停留大概2~3秒的时间后自动消失的弹框,那么既然要做自动化,可能Toast也需要大家进行测试,那么小编今天就来介绍…

如何使用CSS命名规范提高您的编码效率

CSS命名约定可以提高团队成员在项目中的协作能力,通过允许开发人员简化工作流程,增强项目的可维护性和可扩展性。在本文中,我们将深入探讨CSS命名约定的世界,展示实际示例以及它们为您的开发过程带来的好处。 在前端开发中&#x…