【TypeScript介绍】一文带你初步了解TypeScript

news2025/2/25 5:28:04

前言

博主主页👉🏻蜡笔雏田学代码
专栏链接👉🏻【TypeScript专栏】
今天开始学习学习TypeScript这门语言!
感兴趣的小伙伴一起来看看吧~🤞

在这里插入图片描述

文章目录

  • TypeScript介绍
    • 1. TypeScript是什么
    • 2. TypeScript为什么要为JS提供类型支持?
    • 3. TS 相比于 JS 的优势
  • TypeScript初体验
    • 1. 安装编译TS 的工具包
    • 2. 编译并运行TS 代码
    • 3. 简化运行TS的步骤


TypeScript介绍

1. TypeScript是什么

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

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

//TS代码:有明确的类型,即:number(数值类型)
let age1: number = 18
//JS代码:无明确类型
let age2 = 18

TypeScript是微软开发的开源编程语言,可以在任何运行JavaScript的地方运行(浏览器等)

2. TypeScript为什么要为JS提供类型支持?

背景:JS类型系统存在先天缺陷,JS代码中绝大部分错误都是类型错误(Uncaught TypeError)。

问题:增加了找bug,改bug的时间,严重影响了开发效率。

TS属于静态类型的编程语言,JS属于动态类型的编程语言。

静态类型:编译期做类型检查
动态类型:执行期做类型检查

3. TS 相比于 JS 的优势

  1. 更早(写代码的同时)发现错误,减少改bug,找bug的时间,提升开发效率。
  2. 程序中任何位置的代码都有代码提示,随时随地的安全感,增强了开发体验。
  3. 强大的类型系统提升了代码的可维护性,使得重构代码更加容易
  4. 支持最新的ECMAScript语法,优先体验最新的语法,让你走在前端技术的最前沿。
  5. TS 类型推断 机制,不需要在代码中的每个地方都显示标注类型,让你在享受优势的同时,尽量降低了成本。

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

TypeScript初体验

1. 安装编译TS 的工具包

Node.js/浏览器 都只认识JS代码,不认识TS代码。需要先将TS代码转换为JS代码后,然后才能运行。

npm i -g typescript

typescript包:用来编译TS代码的包,提供了 tsc命令 ,实现了TS -> JS的转换。

tsc -v(查看TypeScript的版本)

2. 编译并运行TS 代码

1.创建hello.ts文件(注意:TS文件后缀名为 .ts)。

2.将TS编译为JS:在终端中输入命令,tsc hello.ts(此时,在同级目录中会出现一个同名的 JS 文件)。

3.执行JS 代码:在终端中输入命令,node hello.js


创建TS文件 ————> 编译TS ————> 执行 JS

所有合法的 JS 代码都是 TS 代码,有 JS 基础只需要学习 TS 的类型即可

注意:由TS编译生成的 JS 文件 ,代码中就没有类型信息了

3. 简化运行TS的步骤

使用 ts-node包,“直接”在Node.js中执行 TS 代码,ts-node并不会生成 JS 文件

安装命令:npm i -g ts-node(ts-node包提供了ts-node命令)。

查看版本:ts-node -v

使用方式:ts-node hello.ts

解释:ts-node命令在内部偷偷的将 TS -> JS ,然后,再运行 JS 代码

今天的分享就到这里啦✨ \textcolor{red}{今天的分享就到这里啦✨} 今天的分享就到这里啦

原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

🤞 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

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

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

相关文章

大文件上传

大文件上传原理 当我们在做文件上传的功能时,如果上传的文件过大,可能会导致长传时间特别长,且上传失败后需要整个文件全部重新上传。因此,我们需要前后端配合来解决这个问题。 最常用的解决方案就是 —— 切片上传。 这次我们…

图文详解uni-app PC端宽屏适配方案

图文详解uni-app PC端宽屏适配方案 随着互联网的发展,iOS、Android、H5以及各种小程序快应用层出不穷,随之而来的问题就是如何用一套代码,适配多个平台,其中uni-app表现优异,已经实现了手机端全覆盖,支持i…

【JavaScript速成之路】JavaScript对象

📃个人主页:「小杨」的csdn博客 🔥系列专栏:【JavaScript速成之路】 🐳希望大家多多支持🥰一起进步呀! 文章目录前言1,初识对象1.1,对象概念1.2,对象创建1.2.…

手撕前端面试题【JavaScript】

前端的那些基本标签🍓🍓 浅拷贝🍓🍓简易深拷贝🍓🍓深拷贝🍓🍓什么是深拷贝,什么是浅拷贝,二者有什么区别,平时改怎么区分呢?&#x1f…

vue3.0本地引入vue.js

第一步获取vue版本 Vue的各种版本介绍: cjs(两个版本都是完整版,包含编译器) vue.cjs.js vue.cjs.prod.js(开发版,代码进行了压缩) global(这四个版本都可以在浏览器中直接通过…

Vue中 provide、inject 详解及使用

传送门:Vue中 子组件向父组件传值 及 .sync 修饰符 详解 传送门:Vue中 状态管理器(vuex)详解及应用场景 传送门:Vue中 $ attrs、$ listeners 详解及使用 传送门:Vue中 事件总线(eventBus&#x…

New Bing申请与使用教程

(1)安装 Edge 浏览器插件: 由于在 CN 访问 Bing 国际版会自动跳转到 CN 版,因此需要先重定向浏览器的 Header,先在 Edge 浏览器安装插件:Header Editor: 添加如下配置(其中&#xf…

① 尚品汇的后台管理系统【尚硅谷】【Vue】

后台管理系统项目简介 什么是后台管理系统项目? 在前端领域当中,开发后台管理系统项目,并非是Java,PHP等后台语言项目 在前面课程当中,我们已经开发了一个项目【尚品汇电商平台项目】,这个项目主要针对的是…

HTML5+CSS3模拟实现《亮剑》平安县城一役精彩微信群聊-谁开的炮?

转眼从2005年到现在,《亮剑》已经播出多年,但热度依然不减,而且每次重温我都会看出不一样的意蕴,今天,我就用HTML5CSS3模拟实现《亮剑》平安县城一役精彩微信群聊-谁开的炮? 目录 1. 实现思路 2. 素材介绍…

零基础JavaScript学习【第四期】

博主有话说:不知不觉这一已经第四期了,感谢大家的支持。 个人空间:GUIDM的个人空间 专栏内容:零基础JavaScript学习 基础还是关键。 欢迎大家的一键三连。 往期回顾: 前情回顾:第一期https://blog.csdn.net/m0_61901625/article/details/124772807?spm=1001.2014.3001.…

Spring-Security实现登录接口

目录简介原理初探实现思路登录接口实现准备工作编码实现效果展示简介 Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 具体介绍和入门看springSecurity入门 原理初探 在实…

CSS 实现六边形柱状图

前言 👏CSS 实现六边形柱状图 速速来Get吧~ 🥇文末分享源代码。记得点赞关注收藏! 1.实现效果 2.实现步骤 定义全局css变量,柱状宽度为–w,最大高度为–h,柱形整体为渐变色,定义上部分颜色为…

VUE-webpack超详细教程

一.认识webpack 官网解释:从本质上来讲,webpack是一个现代的JavaScript应用的静态模块打包工具。 从模块化和打包两个角度来理解: 模块化: webpack其中一个核心就是让我们可能进行模块化开发,并且会帮助我们处理模块…

【uni-app导入vant】

uni-app导入vant一、为什么要写这篇文章二、 安装vant三、 进行全局导入Vant组件四、 导入Vant全局公共样式五、 在页面中使用Vant组件一、为什么要写这篇文章 相信有很多人在进行小程序转为uni-app的时候都会遇到转换后vant组件不能用的问题,为了解决这个问题本人…

前端开发:颜色代码速查表【英文颜色、HEX(十六进制)格式、RGB格式、十进制】

💌 作者简介 📖 个人介绍:小伙伴们,大家好!我是水香木鱼,【前端领域创作者】😜📜 CSDN主页:水香木鱼📑 个人博客:陈春波🎨 系列专栏&…

Uniapp零基础开发学习笔记(4) -顶部导航栏titleNView的制作

Uniapp零基础开发学习笔记(4) -顶部导航栏titleNView的制作 制作顶部导航栏titleNView的过程。 1.官网上关于顶部导航栏的介绍 https://uniapp.dcloud.net.cn/collocation/pages.html#app-titlenview 其中关于顶部导航栏的介绍中,有如下的说明: 前端…

一学就会的Vue slot插槽,真的不看看吗?(使用脚手架)

目录 一、前言 完整内容请关注: 开始前的准备: 二、slot插槽的基本使用 子组件: 父组件: 展示效果: 三、域名插槽的基本使用 子组件: 父组件: 效果展示: 注意: 四、如何通过slot从子组件获取内…

实测有效防止colab自动断开连接

在Firefox和Chrome中,在colab页面,按CtrlShiti,打开检查页面(也可以右击鼠标,选择“检查”),并切换到控制台或terminal标签,chrome中为Console。 如果你是联想电脑,可以…

vue项目中使用mapbox地图,切换底图

如何在vue项目中加载并使用mapbox mapbox用了感觉确实不错,操作很顺滑,矢量切片体验流畅,地图主题定制化地图漂亮,二三维一体化,二三维切换很是简单,一行代码搞定。 基本使用 这是mapbox官方文档地址&am…

CSS伪类选择器

CSS的选择器有很多种,有一种选择器,与其他选择器完全不同,我们来讲一讲这个选择器——伪类选择器 伪类选择器 伪类选择器:用来描述一个元素的特殊状态!比如第一个元素、某个元素的子元素、鼠标点击的元素 我们伪类选…