首页 > 其他分享 >TypeScript入门介绍

TypeScript入门介绍

时间:2024-05-20 20:19:47浏览次数:14  
标签:node Node TypeScript 入门 代码 ts 介绍 js

目录

TypeScript入门介绍

什么是 TypeScript?

1.1 TypeScript 是由微软开发的一种开源的编程语言。它是 JavaScript 的一个超集,通过为 JavaScript 提供静态类型检查,增加了代码的可读性和可维护性

发展历史

1.2 TypeScript 的历史和发展

TypeScript 最初由 Anders Hejlsberg 在微软开发,并于2012年首次发布。它的发展一直得到社区的积极支持,逐渐成为前端开发的主流选择。

1.3 TypeScript 与 JavaScript 的关系
TypeScript 是 JavaScript 的超集,意味着所有的 JavaScript 代码都可以在 TypeScript 中运行,同时 TypeScript 还提供了额外的语法和功能。

优缺点

1.4 为什么选择 TypeScript?

选择 TypeScript 的主要原因包括:静态类型检查、更好的代码提示和自动补全、更好的代码组织和维护性、更好的开发体验等。

1.5 TypeScript 的优势与劣势
TypeScript 的优势包括类型安全、智能代码提示、更好的代码组织结构等;劣势可能包括学习曲线较陡等。

应用场景

1.6 TypeScript 的应用领域

TypeScript 可以用于开发各种类型的应用程序,包括 Web 应用、Node.js 应用、移动应用、桌面应用等

开发工具

环境依赖

Node.js: TypeScript 编译器是基于 Node.js 构建的,因此需要先安装 Node.js。你可以从 Node.js 官方网站 https://nodejs.org/ 下载并安装适合你操作系统的 Node.js 版本。

npm install -g typescript

编程IDE

多种主流编辑器如Visual Studio Code、Sublime Text、Atom等都对 TypeScript 提供了良好的支持。

vs调试

launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ts-node",
            "type": "node",
            "request": "launch",
            "args": [
                "${relativeFile}"
            ],
            "runtimeArgs": [
                "-r",
                "ts-node/register"
            ],
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
            "internalConsoleOptions": "openOnSessionStart"
        }
    ]
}

构建工具/工程化

构建工具: 在实际项目中,通常会使用一些构建工具来处理 TypeScript 代码,比如 Webpack、Rollup、Vite 等。这些工具可以帮助你自动化构建过程、优化代码等。你可以根据项目需求选择合适的构建工具,并在项目中使用 npm 进行安装和管理。

步骤汇总

1.安装vs code

2.npm install -g typescript

3.运行tsc hello.ts。将ts编译为js文件

4.调试 npm install -D ts-node ,安装vs扩展 TS Debug。添加调试launch.json文件配置如下

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ts-node",
            "type": "node",
            "request": "launch",
            "args": [
                "${relativeFile}"
            ],
            "runtimeArgs": [
                "-r",
                "ts-node/register"
            ],
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
            "internalConsoleOptions": "openOnSessionStart"
        }
    ]
}

5.事实编译:在vs code中 选择终端→运行任务 输入ts 选中tsc:监控,将对ts生成js文件进行实时监控。

第一个项目

  1. 在vs中创建01hello.ts,代码如下
function sayHello(person:string){
   return `hello ${person}`;
}

let user:string = 'Tom';
let r= sayHello(user);
console.log(r);

2.编译成JS 手动编译tsc 01hello.ts或自动编译运行任务tsc:监控。将生成01hello.js文件。

3.可以将01hello.js 拿到其他web页面使用。注:实际开发过程中,可能使用到构建工具如Webpack、Rollup、Vite 等,就不用运行步骤2和3了

标签:node,Node,TypeScript,入门,代码,ts,介绍,js
From: https://www.cnblogs.com/chi8708/p/18202716

相关文章

  • 蟒蛇书(Python编程:从入门到实践)第17章使用API 17.1.4处理API响应报错Caused by ProxyEr
    书上提供的原始代码:importrequests#执行API调用并存储响应url='https://api.github.com/search/repositories?q=language:python&sort=stars'headers={'Accept':'application/vnd.github.v3+json'}r=requests.get(url,headers=headers)prin......
  • esp8266-01 使用介绍
    一、直接使用接线esp8266USB转TTl说明TXRX------RXTX------EN3.3V  AT命令需要拉高------3V33.3V------IO0不接IO0接地进入烧录模式GNDGND------二、固件烧写前提说明一般是模块固件损坏或者买回来里面可能被别人刷过固件需要擦除或者......
  • 创建django项目目录介绍
    项目层次:创建django项目自动生成的一些.py的目录文件命令运行检查是否创建成功访问http://127.0.0.1:8000/应用层次:创建应用:pythonmanage.pystartappblog项目管理文件manage.py,创建应用的命令startapp,应用名blog 应用目录介绍: ......
  • Sqlite 介绍及应用
    1.1.1.1 数据库介绍软件采用SQLITE数据库作为核心管理软件,SQLite数据库以其高效、轻便的特性,在全球范围内得到了广泛的应用。SQLite数据库最大支持128TB,这种数据库支持标准的SQL语言,但与其他数据库管理系统相比,它不需要运行在客户端-服务器架构上,所有的数据都存储在一个本地文件......
  • I2S 介绍
    使用场景麦克风在机械振动下将声音信号转变为电压信号,电压信号经过放大等处理,给到ADC采样,将模拟信号转化为数字信号;数字信号经过编码、存储、压缩等技术后,发送给解码器-DAC(DSP、专用解码器),将数字信号还原为模拟信号,最后给到喇叭完成声音/音频的播放。音频在AD与DSP之间的传输就......
  • Calico 入门教程
    什么是Calico?Calico是一种网络和安全解决方案,使Kubernetes工作负载和非Kubernetes/遗留工作负载能够无缝、安全地通信。组件和功能在Kubernetes中,进出pod的网络流量默认为default-allow。如果您不使用网络策略锁定网络连接,则所有Pod都可以与其他Pod自由通信。Ca......
  • lodash已死?radash库方法介绍及源码解析 —— 函数柯里化 + Number篇
    写在前面tips:点赞+收藏=学会!主页有更多其他篇章的方法,欢迎访问查看。本篇我们继续介绍radash中函数柯里化和Number相关的方法使用和源码解析。函数柯里化chain:创建一个函数链并依次执行使用说明功能描述:用于创建一个函数链,该链依次执行一系列函数,每个函数的输出......
  • Web入门
    SQL注入数据库基础*关系型数据库:#Access#MSSQL--1433*非关系型数据库:#MySQL--3306#Oracle--1521等对MySQL数据库的操作1.显示数据库 showdatabases;2.显示数据库版本 selectversion(); 3.使用数据库 useXXX;4.显示当前正在使用的数据......
  • 中移ML307A(C-SDK,OpenCPU)学习开发-开发板基本介绍
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/ML307A_OPEN"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 链接: https://item.ta......
  • jQuery2-动画技术入门指南-全-
    jQuery2动画技术入门指南(全)原文:zh.annas-archive.org/md5/71BE345FA56C4A075E859338F3DCA6DA译者:飞龙协议:CCBY-NC-SA4.0序言jQuery是一个跨浏览器的JavaScript库,旨在简化HTML的客户端脚本编写,并且是当今最流行的JavaScript库。利用jQuery提供的功能,开发人员能......