官网: https://github.com/microsoft/TypeScript

TypeScript是一种由微软开发的开源、跨平台的编程语言。它是JavaScript的超集,最终会被编译为JavaScript代码。

TypeScript是一种应用级JavaScript语言。TypeScript为JavaScript添加了可选类型,支持针对任何浏览器、任何主机、任何操作系统的大规模JavaScript应用的工具。TypeScript编译成可读的、基于标准的JavaScript

特点:

  • 始于JavaScript,归于JavaScript
  • 强大的类型系统
  • 先进的 JavaScript

安装

命令行运行如下命令,全局安装 TypeScript:

npm install -g typescript



下载每日构建版本(最新)

npm install -g typescript@next

ps: 可能会失败 最好还是不要加@next

检查安装是否成功

tsc -V

安装成功

构建第一个文件

我们写一个JS程序

(() => {
function sayHi(str) {
return "hello" + str
} let text = "world"
console.log(sayHi(text))
})()

然后运行



发现可以运行

然后我们直接使用类型注解(ts的语法)

(() => {
function sayHi(str: string) {
return "hello" + str
} let text = "world"
console.log(sayHi(text))
})()

然后运行



会发现这样会报错

编译代码

所以我们需要把ts代码转换成JS 不然就运行不成功,当然 ts文件里都是js代码的话是可以运行的

所以我们可以使用命令把它编译成JS

tsc .\helloworld.ts



这样再同级目录下就会生成一个js代码

以下是JS代码

(function () {
function sayHi(str) {
return "hello" + str;
}
var text = "world";
console.log(sayHi(text));
})();

可以发现 类型注解自动的去掉了 并且 let 改成了var

vscode自动编译

我们可以在vscode中让他自动编译成js

直接使用命令

tsc --init

这样会生成一个tsconfig.json的文件

修改tsconfig.json配置

在文件中增加如下内容

{
// 把ts文件最终编译后放到js的目录中 指定存放的路径
"outDir": "./js",
// 不使用严格模式
"strict": false,
...
}

启动监视

我们还需要配置一下监视任务







点击上图标红的地方 这样的话 只要一保存就会自动的把ts编译成JS

然后我们新建一个test文件

然后就会发现 自动的多出了一个test.js的文件了

安装 TypeScript 并编译成JS的更多相关文章

  1. Emscripten编译环境搭建--将C和C++编译成JS

    Emscripten编译环境搭建--将C和C++编译成JS 需求:linux环境下用js执行c.c++文件,使用emscirpten编译器 目标:搭建好Emscripten环境 环境:Ubuntu16 ...

  2. typescript 自动编译 生成js文件

    项目文件 <?xml version="1.0" encoding="utf-8"?><Project ToolsVersion=" ...

  3. 安装typescript环境并开启VSCode自动监视编译ts文件为js文件

    一.前言 小编最近开始学习typescript,懂得人都知道,typescript是vue3的基础伴生,配合更加默契.就像vue2和js一样!typescript不像js那样浏览器直接可以解读,需要我 ...

  4. 四十年前的 6502 CPU 指令翻译成 JS 代码会是怎样

    去年折腾的一个东西,之前 blog 里也写过,不过那时边琢磨边写,所以比较杂乱,现在简单完整地讲解一下. 前言 当时看到一本虚拟机相关的书,正好又在想 JS 混淆相关的事,无意中冒出个问题:能不能把某 ...

  5. JSBinding + SharpKit / 编译 Cs 成 Js

    轻轻一点菜单:[JSB | Compile Cs to Js] 主要产出:StreamingAssets/JavaScript/SharpkitGeneratedFiles.javascript,你的 ...

  6. ubuntu16.04编译安装mysql-boost-5.7.21并编译成php扩展测试与使用

    我之前的文章已经改造了自定义MVC框架中的工具类(验证码,图片上传,图像处理,分类)4个类,接下来,就要改造模型类,模型类肯定要连接数据库,由于我的Ubuntu Linux是裸装的php(目前只编译了 ...

  7. Swing项目编译成exe,并且打包成安装文件(二)

    前面我们讲到了将Swing项目编译成双击可执行的文件exe,这篇我就教大家怎么把exe打包成需要在电脑安装的那种,首先需要一个工具,Inno Setup 编译器, 下载地址,我这个是汉化版的,双击打开 ...

  8. 关于es6及以上的js编译成es5

    问题:es6及以上版本在IE浏览器上不能执行起来,但Chrome浏览器上轻松运行,解决兼容IE的问题就需要使用babel:这个可以去babel的官网去查看; 关于babel的简单使用,有两种方式: 1 ...

  9. day132:2RenMJ:MJ需求文档&MJ游戏流程&Egret白鹭引擎安装&TypeScript简要介绍

    目录 1.麻将产品需求文档 2.麻将游戏流程 3.Egret白鹭引擎 4.TypeScript简要了解 5.TypeScript快速入门 1.麻将产品需求文档 1.麻将术语 1.名词术语 牌⼦: 序数 ...

随机推荐

  1. identity4 系列————持久化配置篇[五]

    前言 上面已经介绍了3个例子了,并且介绍了如何去使用identity. 但是在前面的例子中,我们使用的都是在内存中操作,那么正式上线可能需要持久到数据库中. 这里值得说明的是,并不一定一定要持久化到数 ...

  2. 【MySQL】DDL因Waiting for table metadata lock卡住

    在数据库空闲时间,对表做碎片整理: alter table my_abc engine=innodb; 发现会话被阻塞,显示状态是: Waiting for table metadata lock 手 ...

  3. 在Boss直聘上投简历时,怎样保证有新消息时能及时收到

    最近在Boss直聘上投简历,偶尔会有HR给我发消息,不想在电脑上错过这些消息,但我又不能时时刻刻盯着这个页,怎么办呢? 这时,我想起来,之前做过的Chrome插件,如果检测到Boss直聘上新消息数大于 ...

  4. VM虚拟机安装和使用

    作者:菘蓝 时间:2022/8/30 ================================================================================= ...

  5. oracle数据泵导入导出数据

    expdp 导出 1.管理员用户登入sqlplus sqlplus system/manger@pdb1 2.创建逻辑导出目录 create directory dpdata as '/home/or ...

  6. 跟羽夏学 Ghidra ——工具

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章 ...

  7. Windows Server体验之安装

    微软在Windows Server家族中有一个新的家族,名字就是Windows Server.这个按半年频道更新的版本目前是1903和Windows 10的命名方式一样.这个产品就是以前的服务器核心安 ...

  8. 【学习笔记】Vin-Mono论文阅读笔记(一)

    VINS-Mono 概述 VINS-Mono VINS-Mono是由一个单目相机和一个低成本IMU组成的鲁棒通用的单目视觉惯性系统.通过融合预积分的IMU测量值和特征观测值来获得高精度的视觉惯性里程计 ...

  9. Docker与Containerd使用区别

    文章转载自:https://cloud.tencent.com/developer/article/1984040 Kubernetes 在 1.24 版本里弃用并移除 docker shim,这导致 ...

  10. kubeadm join 命令执行流程