初识TypeScript编译器(tsc)

TypeScript自学课(5)-使用TSC编译TS 在上一章中,我们介绍了TSC工作,但是并没有完整的走完一个使用流程,本文,我们通过一个add函数来学习编写TS代码的流程。在编码之前,是需要配置好TSC的配置文件,执行 初始化项目,自动生成文件,并默认配置项。对于一个前端项目,肯定是分文件夹的。例如:我们的代码可能是放在src下面,如果有使用npm拉取使用第三方包,会生成文件夹。src我们是需要编译的,但是是不需要编译的,我们就需要将排除掉,就像是webpack打包也会配置排除TSC提供了和来配置编译和忽略文件。 启动监听,不打包 此时你会在控制台发现, 阅读详情

须知少时凌云志,
曾许人间第一流。
哪晓岁月蹉跎过,
依旧名利俩无收。


对于有过Java/C/Rust/Go等编程语言经验的开发者来讲,对于编译器这个概念应该都不陌生。(比如 javac , gcc , rustc …)

今天我们主要来看一下 TypeScript 编译器 —— tsc


1. 安装 TypeScript

官方链接:Installing TypeScript && Download TypeScript

  • npm install -g typescript
  • yarn add typescript --dev
  • pnpm add typescript -D

Visual Studio 默认支持。

2. 熟悉tsc的编译选项

如果我们不熟悉tsc的命令,我们可以通过以下命令获取帮助。

  • tsc --help

  • tsc --help --all

如下图所示:
TSC


3. 编译.ts文件

就像写JavaScript文件一样,我们可以使用记事本/Vim都可以。(友情提示:Vistual Studio效果更佳哦)

这里以官网内容为例


console.log('Hello,TypeScript!')

function greet(person:string,date:Date){
	console.log(`Hello ${person}, today is ${date}!`);
}

greet("Bert",new Date())
greet("Bert") // 错误调用
greet("Bert", 5) //错误调用

在这里插入图片描述
TypeScript在编译阶段很清楚的帮助我们发现&指出问题。

4. TS报错后那JS呢

在这里插入图片描述
通过node命令运行之后:(WTF?)
在这里插入图片描述
仔细想一下,我们发现这也属于正常现象:

这些错误行为相对于放荡不羁的JavaScript 而言,都是常规操作。

4.1 通过noEmitOnError禁止在出错的情况下编译出JS目标文件

很显然这不是我们想要的那种结果。我们可以通过开启 noEmitOnError 编译选项 来避免此行为。
No Emit On Error -noEmitOnError

Do not emit compiler output files like JavaScript source code, source-maps or declarations if any errors were reported.(如果报告有任何错误,则编译不输出文件)

tsc --noEmitOnError hello.ts

5. 查看编译生成的JS文件

为了对比,这里给出了源文件(Hello.ts)文件。

console.log('Hello,world!')


// function sum(x:number, y:number) {
//   return x + y
// }

// sum(5,true)

function greet(person:string, date:Date) {
  console.log(`Hello ${person}, today is ${date}!`);
}
 
greet("Bert"); // 错误调用
greet("Bert",new Date());
greet("Bert",1) // 错误调用

// 定义一个箭头函数
const welcome = (name:string) => {
  console.log(`Welcome ${name}`)
}


在这里插入图片描述

箭头函数,模板字符串都是 ECMAScript 2015(或者 ECMAScript6、ES2015、ES6 等)引入的新特性。

我们通过上面代码的对比,很容易就发现差异:

默认情况下,TypeScript 会转化为 ES3 代码

5.1 通过target进行JS版本切换

我们可以通过设置target编译选项来进行ECMAScript版本切换。这里为了获得ES6版本的目标代码,可以运行如下指令:

tsc --target es6 hello.ts

关于-- target 后面的版本号(默认es3),可以是如下值:

  • es3

  • es5

  • es6/es2015

  • es2017

  • es2018

  • es2019

  • es2020

  • es2021

  • es2022

  • esnext

     PS: 不区分大小写。
    

详细内容可以查看这里:tsconfig的 lib. 和 target


后面的严格模式以及更多的编译选项设置,且听下回分解。

TypeScript自学课(4)-TSC-TypeScript编译器 如果你经常使用VSCode,你可能会偶尔把鼠标放在变量上,此时VSCode会在变量上面给出一个提示框。效果如下图的红色框,提示 ,userName是string类型的。其实这就是TS的类型推断。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Guchds9t-1655351564182)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7aafe430d79e41f7be69ed6d437ec60e~tplv-k3u1fbpf 阅读详情

相关推荐

typescript-api-playground:在线使用TypeScript编译器(和其他)API。 通过探索丰富的示例画廊来学习

TypeScript编译器API在线编辑器 在线使用TypeScript编译器(和其他)API: 目的/特点 基本上是服务器端的node.js应用程序,它使用户可以输入两个TypeScript源文件,一个是使用TypeScript编译器API的程序,另一个是使用第一个程序处理的示例TypeScript源文件的示例。 然后,在服务器端对程序进行评估,并将结果打印回浏览器(可能会修改示例源文件) 它有许多使用不同TypeScript API和相关库的工作示例。 由于故障的原因,基础设施在线! 在本地主机上轻松运行: npm install && npm start & ; firefox localhost:8080 npm install && npm start & ; firefox localhost:8080 使用出色的TypeScript摩纳哥编辑器,因此体验令人难以置信

【TypeScript】编译器 tsc 全面解析

tsc是 TypeScript 的命令行工具,它负责将 TypeScript 代码编译成标准的 JavaScript 代码。在开发过程中,类型检查是 TypeScript 的一个重要特性,tsc通过静态分析代码,帮助开发者发现潜在的错误。TypeScript 编译器tsc是开发 TypeScript 应用程序的重要工具。通过合理配置和使用tsc,开发者可以在享受 JavaScript 灵活性的同时,利用类型检查来提升代码质量。

lph159的博客 3377

MIPI DPHY接口(基于Xilinx FPGA实现)案例分析

在Xilinx FPGA实现MIPI DPHY接口的案例(包括CIS协议层)。截止目前为止,Xilinx仅在Ultrascale+及其以上版本的FPGA IO可直接支持MIPI 电平输入,其他的,都需要转换成LVDS来接收。

ONEFPGA的博客 5628

Type-Script使用详解

typescript 用法详解 javascript 的痛点 弱类型 变量的数据类型不是固定的,我们可以给一个变量赋值多种不同类型的值。 这样可能代码编写时会更加简单,但当项目变大时,可能会给项目带来一定的隐患,也不便于多人合作 function add (a, b) { return a + b } add(100, 200) // 300 add('a', 100) // 'a100' 这改变了我们函数定义的初衷 强类型 声明变量时,一旦给变量赋值了,那么变量的数据类型就已经确定了,不可在赋值其

weryoung的博客 1087

C语言实现俄罗斯方块

使用C语言完成俄罗斯方块。《俄罗斯方块》的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由小方块组成的不同形状的板块陆续从屏幕上方落下来,玩家通过调整板块的位置和方向,使它们在屏幕底部拼出完整的一条或几条。这些完整的横条会随即消失,给新落下来的板块腾出空间,与此同时,玩家得到分数奖励。没有被消除掉的方块不断堆积起来,一旦堆到屏幕顶端,玩家便告输,游戏结束。顾名思义,俄罗斯方块自然是俄罗斯人发明的。

qq_54169998的博客 7万+

SOC估算方法之(OCV-SOC+安时积分法)

此方法主要参考。

m0_61973119的博客 935

Typescript入门 (1)

Typescript入门(1)一.Typescript开发环境搭建二、静态类型基础静态类型对象静态类型三.函数参数注解四.数组类型注解五.元组的使用和类型约束六.初识interface七.再识interface 一.Typescript开发环境搭建 下载Node.js //node官网 https://nodejs.org/zh-cn/ 安装Node.js 使用npm全局安装typescript //1.进入命令行 //2.输入以下代码 npm install typescript -g 创建

蜡笔小星的博客 133

筹码峰五句口诀,看懂主力的秘密动作!(附实战图示)

筹码图的价值在于,它不像K线那样容易造假。主力可以骗线,但骗不了筹码分布。主力在不在;是吸筹还是出货;接下来是变盘还是震荡。这五句口诀可以说是“筹码阅读的入门圣经”:单峰坚挺变盘在即,双峰对垒高抛低吸;上峰不移主力在跑,多峰林立行情不止;下峰不移不离不弃,筹码识庄稳中取利!📌市场从来不是靠猜,而是靠看清。筹码,就是主力最真实的痕迹。如果你想学会提前布局、跟庄不被甩,学会看筹码峰——这一步必须打牢!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1165

搭建 TypeScript 环境 & TSC 命令的使用 & 配置 tsconfig 文件

目录前言一、TSC 命令的使用二、tsconfig 配置文件的属性1、tsconfig 配置文件的顶层属性(1)、compilerOptions(2)、file(3)、 include 和 exclude(4)、compileOnSave(5)、extends(6)、typeAcquisition(7)、watchOptions(8)、reference2、tsconfig 具体配置与解析汇总3、重点属性的配置详解(1)、strict 模式详解(2)、模块解析baseUrl(3)、路径映射(path)(4)

青蛙king的博客 2万+

【100%通过率】华为OD机试真题 JavaScript【数字最低位排序】【最低位排序】

2023华为OD机试真题 JavaScript【数字最低位排序】【最低位排序】 给定一个非空数组(列表) 起元素数据类型为整型 请按照数组元素十进制最低位从小到大进行排序 十进制最低位相同的元素,相对位置保持不变 当数组元素为负值时,十进制最低为等同于去除符号位后对应十进制值最低位

MISAYAONE的博客 587

【YOLO】Mask Proto分支理解

Mask Proto分支通过解耦全局原型与实例参数,在保持YOLO实时性的同时实现精准分割。其技术核心在于利用多尺度特征生成可组合的原型,结合动态系数适应不同目标形态。未来可进一步融合Transformer的注意力机制,增强对复杂场景的建模能力。

浩瀚之水的专栏 476

TypeScript编译器tsc的入门指南

本文将详细介绍TypeScript编译器tsc的使用方法,包括安装、编译、错误处理和代码格式化等内容。tsc是TypeScript开发者不可或缺的工具,通过本文的介绍,你应该已经掌握了tsc的基本使用方法。了解tsc的详细用法,有助于提高开发效率和代码质量。

你若盛开,清风自来 1965

【系统架构设计师】模拟预测试卷十 - 案例分析(完整结构)

本文为系统架构设计师考试模拟试题及参考答案,包含五个专题:质量属性(必答)、信息系统架构设计、嵌入式系统架构设计、云原生架构设计、面向服务架构设计(SOA)。试题一聚焦非功能需求与质量属性映射,如性能、可修改性、一致性等;其余选答题分别涉及分层架构设计(如嵌入式实时控制)、云原生会话管理、服务化治理(如契约设计、熔断策略)等核心架构场景,涵盖战术应用、权衡分析及解决方案设计。参考答案提供关键要点,例如离线借还的冲突解决、服务编排与共享服务的区分、嵌入式硬实时保护的必要性等,适用于备考实战演练。

数据知道的博客 251

AudioBookRequest三大用户分组全解析:trusted如何解锁自动下载

AudioBookRequest 是一款轻量级有声书请求管理与愿望清单工具,专为 Plex / Audiobookshelf / Jellyfin 搭建。它的权限体系只设计了三个用户分组:untrusted、trusted、admin。本文带你快速搞懂三者的区别,尤其是 trusted 分组如何解锁"申请即自动下载"的关键能力。 [![AudioBookRequest 有声书请求工具标志](ht

gitblog_00605的博客 660

纯C语言实现的Luhn算法(信用卡校验位):详解与示例

在本文中,我们详细介绍了如何使用纯C语言实现Luhn算法,并提供了一些示例代码。用于检查任意长度的数字字符串的有效性,用于计算给定数字字符串的校验位字符。我们还提供了一个简单的“main”C程序,用于在命令行上接受一个或多个数字字符串,并计算它们的校验位字符。通过阅读本文和理解示例代码,我们希望读者能够更好地理解Luhn算法的工作原理,并能够在自己的项目中应用这种算法。

qq_38334677的博客 1221

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Deno cli/tsc 目录解析:TypeScript 编译器宿主与升级流程详解

本篇基于 Deno 仓库中的 [cli/tsc/README.md](https://link.gitcode.com/i/3084624b91619b80a8d890552de050dd) 展开,讲清 `cli/tsc/` 目录的定位——它是 Deno 内嵌的 TypeScript 编译器与一个"小型编译器宿主"(compiler host)。读完你会掌握三件事:这个目录里每个文件的角色、Typ

gitblog_01112的博客 628

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

使用TypeScript命令行工具 tsc CLI

使用TypeScript命令行工具 tsc CLI 李俊才的个人博客 邮箱 :291148484@163.com 优快云 主页:https://blog.youkuaiyun.com/qq_28550263?spm=1001.2101.3001.5343 本文地址:https://blog.youkuaiyun.com/qq_28550263/article/details/123449765 相关文章推荐: TypeScript的编译器文件 目 录 1. 安装TypeScript 2. tsc CLI 概述 3.

jclee95的个人博客 3222

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

TypeScript 编译器增强版 tsc-watch 的下载与安装教程

**tsc-watch** 是一个为 TypeScript 开发者设计的工具,它基于官方 TypeScript 编译器(tsc),并扩展了 `--watch` 功能,让开发者能够对编译状态作出反应。此项目类似于 nodemon,但专为 TypeScript 而生,允许在每次成功编译后执行命令,重启服务或者进行其他自定义操作。其丰富的命令选项使得开发流程更加灵活高效。 ## 项目下载位置 你可以

gitblog_01299的博客 994

tsc-watch vs nodemon:为什么它是TypeScript项目的更好选择?

在TypeScript开发中,实时编译和自动重启是提升效率的关键。`tsc-watch`作为专为TypeScript设计的开发工具,以其独特的编译状态响应能力,正在逐步取代传统的`nodemon`成为开发者的首选。本文将深入对比两者差异,揭示`tsc-watch`如何通过原生TypeScript支持和精细化控制,为项目带来更高效的开发体验。 ## 核心差异:TypeScript原生支持 vs 通

gitblog_01151的博客 777

subfinder 被动子域名枚举实战:命令行参数、正则过滤与 Go SDK 使用全指南

subfinder 是 projectdiscovery 团队开源的一款**被动子域名发现工具**,它只做一件事:通过聚合数十个公开在线数据源(证书透明度日志、DNS 数据集、搜索引擎、威胁情报平台等)为指定域名返回真实有效的子域名,全程不直接扫描目标,兼具速度与隐蔽性。本指南将带你完整掌握 subfinder 的安装方式、全部命令行参数、正则过滤、限速与输出控制、API Key 配置,以及把它作

gitblog_00711的博客 960

tsc-watch完全指南:TypeScript开发的终极热重载工具

tsc-watch是一款为TypeScript开发者打造的终极热重载工具,它在TypeScript编译器(tsc)的基础上增加了--watch参数支持,并提供了对编译状态的实时响应能力。通过tsc-watch,开发者可以轻松实现代码修改后的自动编译与后续操作触发,极大提升开发效率。 ## 为什么选择tsc-watch? TypeScript作为强类型语言,编译过程是开发流程中不可或缺的一环。传

gitblog_00743的博客 281

TypeScript 完全指南:从基础到高级类型系统(十七)「tsc 命令行编译器」

tsc作为TypeScript官方提供的命令行编译器,肩负着两大关键使命:检查代码的规范性与准确性,并将TypeScript代码巧妙地转换为JavaScript代码,以适应更广泛的运行环境。tsc在工作时,默认会从当前目录中读取配置文件,从中获取编译所需的各项设置。不过,它也具备强大的灵活性,能够接受独立传入的命令行参数。这里有个重要的特性需留意:当命令行参数与中的设置存在冲突时,命令行参数将拥有更高的优先级,会覆盖掉配置文件中的相应属性。例如,若在命令行中明确指定了要编译的文件,tsc便会无视。

qq_31435455的博客 930

阮一峰《TypeScript 教程》学习笔记——tsc 命令

tsc 是 TS 官方的命令行编译器,用来检查代码,并将其编译成 JavaScript 代码。

qq_41422946的博客 1165

DeepSeek Harness 的 TSC-first 构建管线:单一 TypeScript 编译器所有权与 Project Reference 编排

DeepSeek Harness(`@deepseek-ai/dsh-root`)在 [.agents/notes/implemented/process/2026-06-17-ts-build-config.md](https://link.gitcode.com/i/a66105a69a5fbbf520e3cb2f5c7dece7) 中确立了一套以 `tsc` 为唯一 TypeScript 编

gitblog_00417的博客 476

终极指南:esbuild-node-tsc让TypeScript编译速度提升10倍的秘密

esbuild-node-tsc是一款基于esbuild的TypeScript构建工具,专为Node.js项目打造,能够显著提升TypeScript项目的编译速度。它通过结合esbuild的极速性能与TypeScript的类型检查能力,为开发者提供了一种快速、高效的项目构建方案。 ## 为什么选择esbuild-node-tsc? 在传统的TypeScript开发流程中,使用tsc进行编译往往

gitblog_00898的博客 920

[TypeScript学习笔记-02]tsc:TypeScript编译器

tsc 是 TypeScript 的官方编译器,它的作用就是把 .ts 文件编译成标准的 .js 文件,供浏览器或 Node.js 执行。核心功能包括 类型检查、语法转换、配置驱动和增量编译等。

JaydenAI的博客 346
上一篇: TypeScript是强类型,静态类型的JavaScript
下一篇: Leetcode - 485. 最大连续 1 的个数
Bert.King
博客等级 码龄15年 280粉丝 151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值