广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >typeScript入门基础介绍
  • 947
分享到

typeScript入门基础介绍

2024-04-02 19:04:59 947人浏览 泡泡鱼
摘要

目录一、安装 TS二、vscode 自动编译 ts三、入门 TS基础数据类型接口类TS 的特点: 始于 javascript 归于 javaScript 。强大的类型系统。先进的 j

TS 的特点:

  • 始于 javascript 归于 javaScript 。
  • 强大的类型系统。
  • 先进的 javaScript 。
  • 适合开发大型项目,编译成纯 js 代码,js 可以运行在任何浏览器上。

typescript 是区分大小写的一门语言,本篇文章主要带你了解 ts 的安装,环境配置,以及简单的入门。

一、安装 TS

使用之前需要安装:

npm install -g typescript

安装完成之后,使用 tsc -v 检查安装之后的版本。

第一个 ts 文件:01.ts,代码如下:

(()=>{
 function show(msg){
  return "字符串:"+msg
 }
 let str = "前端"
 console.log(show(str))
})()

通过 script 引入 html 文件

<script  src="./01.ts"></script>

页面正常运行,因为 ts 能够支持 js 语法,所以文件内直接引入使用是没问题的,除此之外,还可以使用 node 命令运行该文件,也是可以正常执行的。

如果此时,在 ts 文件内加入 ts 语法:

// 添加类型支持
(()=>{
 function show(msg:string){
  //添加 string 的意义在于传入的 msg值只能是字符串,不可以是其他类型
  return "字符串:"+msg
 }
 let str = "前端"
 console.log(show(str))
})()

此时浏览器运行时,会报错,无法继续执行。

此时就需要将 ts 文件编译为 js 文件,打开命令行工具,运行:

tsc 01.ts

运行后会自动生成一个 01.js 文件,查看js代码内容如下:

function show(msg) {
 return "字符串:" + msg;
}
(function () {
 var str = "前端";
 console.log(show(str));
})();

总结:

  • ts 文件内直接输入 js 文件,在 html 文件引入 ts 文件,在浏览器内是可以直接运行的。
  • ts 文件内如果有 ts 语法代码,若在 html 文件内引入 ts 文件,直接在浏览器运行会报错,此时需要先编译为 js 文件。
  • 在 ts 文件函数中的形参,如果使用了某个类型进行修饰,那么在最终编译的 js 文件中是没有该类型的。
  • ts 内地 let 修饰符,编译后的 js 文件内变成了 var 。

二、Vscode 自动编译 ts

新建一个项目目录,当前目录下打开命令行工具,执行

tsc --init

自动生成 tsconfig.json 文件,代码如下:

{
 "compilerOptions": {
  "target": "es2016",                                
  "module": "commonjs",                               
  "outDir": "./js",                                  
  "esModuleInterop": true,                             
  "forceConsistentCasingInFileNames": true,      
  "strict": true,                                                  
  "skipLibCheck": true                               
 }
}

注:

outDir 表示的是 ts 文件编译之后生成 js 文件的存放目录。如果属性值之后的文件夹不存在时,就会自动创建。

strict 表示是严格模式。

新建 index.ts 文件,代码如下:

(() => {
 function showStr(str:string) {
  return str 
 }
 let a: string = "前端人"
 // 调用函数
 console.log("a",showStr(a));
})()

类型注解:函数地形参后加修饰符,用来限制传入参数的类型,string 表示只能为字符串类型。

在命令行运行

tsc -w 
//或
tsc -watch

自动生成 js 文件夹,包括 index.js 文件。运行该命令后,只要 ts 文件发生改变,就会自动编译。

一切运行正常,没有任何错误。

如果调用函数的参数传为数值时:

console.log(showStr(123));

此时编辑器内报错:类型“number”的参数不能赋给类型“string”的参数。

ts 能够智能提示问题,是因为 ts 提供了静态代码分析,可以分析代码结构和提供的类型注解。

但是 tsc 编译的时候,虽然会提示错误,但它依旧会编译为 js 文件,js 在执行的时候不会报错,因为 js 是弱类型语言。

三、入门 TS

基础数据类型

  • 为布尔值类型。如:let isDone: boolean = false;
  • number 为数值类型,ts 能够支持二、八、十、十六进制数据。如:let decLiteral: number = 6;
  • string 为字符串类型。如:let name: string = "bob";
  • 表示数组类型。数组名后加元素类型[] 加 数组值。如:let list: number[] = [1, 2, 3];
  • 元组类型。如:let arr:[string,number,boolean] = ['str',1,true]
  • 枚举,为一组数值赋予友好名字。如:enum Color { red, green, blue }
  • 任意类型,有时不确定传入的值是什么类型,就可以使用 any 类型。如:let notSure:any = 1
  • 空值,与 any 正好相反,表示没有任何类型。 如:function show():void { }
  • null undefined
  • never 类型,表示永不存在的值。function error(message: string): never { throw new Error(message); }

接口

接口简单点讲就是一种约束。在 ts 里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。

TypeScript 中的接口是一个非常灵活的概念,除了可用于对类的一部分行为进行抽象以外,也常用于对「对象的形状(Shape)」进行描述。

使用形式:

(() => {
 //定义一个接口
 interface Person{
  firstName:string,//添加类型限定
  lastName:string
 }
 function showFullName(person:Person) {
  // 添加类型限定之后,内部会自动提示接口内的字段
  return person.firstName + '_' + person.lastName
 }
 const p = {
  firstName: "Hello",
  lastName: "World"
 }
 console.log("姓名",showFullName(p));
})()

如果把 p 中的 firstName 注释掉,就会报错,提示:

在本实例中,接口的意义就是限定传入 showFullName 函数内的数据属性的限制。

接口优点:自动检测传入的数据是否符合接口规范,如果不符合则会报错。

Typescript类介绍

传统的 JavaScript 的程序使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员来讲就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来从 ECMAScript 2015,也就是 ECMAScript 6 开始,JavaScript 程序员将能够使用基于类的面向对象的方式。使用 TypeScript,我们允许开发者现在就使用这些特性,并且编译后的 JavaScript 可以在所有主流浏览器和平台上运行,而不需要等到下个JavaScript的版本。

ts 的类只是一个语法糖,本质还是 js 函数实现的。

使用示例:

(() => {
  //定义一个接口
  interface Person{
    firstName: string,
    lastName:string
  }
  //定义一个类
  class Personal {
    //定义公共的字段属性
    firstName: string
    lastName: string
    fullName: string
    // 构造函数
    constructor(firstName: string,lastName:string) {
      //更新属性数据
      this.firstName = firstName
      this.lastName = lastName
      this.fullName = this.firstName + this.lastName
    }
  }
  
  const p = new Personal('你','好')
  
  function showFullName(person: Person) {
    return person.firstName + person.lastName
  }
  console.log("p",showFullName(p));
})()

到此这篇关于 typeScript入门基础介绍的文章就介绍到这了,更多相关 typeScript内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: typeScript入门基础介绍

本文链接: https://www.lsjlt.com/news/139575.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • typeScript入门基础介绍
    目录一、安装 TS二、Vscode 自动编译 ts三、入门 TS基础数据类型接口类TS 的特点: 始于 javaScript 归于 javaScript 。强大的类型系统。先进的 j...
    99+
    2022-11-13
  • TypeScript基础类型介绍
    目录1.基础类型 2.对象类型 2.1数组 2.2元组 2.3对象 3.类型推断 3.1类型联合中的类型推断 3.2上下文类型 4.类型断言 TS 的静态类型可以人为的分为两类: 基...
    99+
    2022-11-12
  • C#语言入门基础介绍
    目录一、.NET 体系结构二、Hello world三、类型和变量四、程序结构前言: C#(读作“See Sharp”)是一种新式编程语言,不仅面向对象,还类型安全。 开发人员利用 ...
    99+
    2022-11-12
  • Mysql入门基础(1)-->基本介绍
    第一章      数据库概述          &nbs...
    99+
    2022-10-18
  • Kubernetes(K8S)入门基础内容介绍
    Introduction basic of kubernetes 我们要学习 Kubernetes,就有首先了解 Kubernetes 的技术范围、基础理论知识库等,要学习 Kube...
    99+
    2022-11-13
  • PHP入门介绍及语言基础
    🌱博客主页:大寄一场. 😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注 目录 前言 一、变量和数据类型 二、运算符和表达式 三、条件语句 四、循环语句 前言 PHP是一种非常流...
    99+
    2023-09-06
    php 开发语言
  • linux基础之Shell Script入门介绍
    linux基础之Shell Script 1 Shell Scipt使用指令和基本程序设计结构写成的程序,可以完成复杂的处理流程 1.1 程序书写 #!/bin/bash# Program:# ...
    99+
    2022-06-04
    入门 基础 linux
  • Python 入门基础1 --语言介绍
    本节目录: 一、编程语言介绍 二、python解释器介绍 三、安装python解释器 四.运行python程序的两种方式 五、变量 六、后期补充内容 一、编程语言介绍   1.机器语言:     直接用二进制编...
    99+
    2023-01-30
    入门 语言 基础
  • Python类和对象基础入门介绍
    目录视频Python 类和对象创建和使用类根据类创建实例视频 观看视频 Python 类和对象 面向对象编程是编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。 编写类时,...
    99+
    2022-11-11
  •  typeScript入门基础知识有哪些
    本文小编为大家详细介绍“ typeScript入门基础知识有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“ typeScript入门基础知识有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-06-29
  • JavaScript基础入门--JavaScript简介
    一、简单好学,富有表现力 —— JavaScript简介1.1 JavaScript的用途JavaScript用来制作web页面交互效果,提升用户体验。 简单列出几个JavaScript能够制作的...
    99+
    2022-10-18
  • 前端开发TypeScript入门基础教程
    TYPESCRIPT 官网 github TypeScript是一种由微软开发的开源、跨平台的编程语言。它是JavaScript的超集,最终会被编译为JavaScript代码。 可...
    99+
    2022-11-13
  • VXLAN基础介绍
    VXLAN简介 VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)采用MAC in UDP封装方式,是NVO3(Network Virtualization over Layer 3)中...
    99+
    2023-09-09
    网络 服务器 网络协议
  • PHP循环函数使用介绍之PHP基础入门教程
    PHP中的循环主要用户执行相同代码块运行指定的次数。 PHP循环主要有四种:while,do…while,for,foreach。下面我们分开讲解每种循环的用法。 while语句: ...
    99+
    2022-11-15
    PHP循环
  • sql注入基础知识的介绍
    本篇内容介绍了“sql注入基础知识的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是SQL注入(S...
    99+
    2022-10-18
  • GNS3入门介绍
    第一次遇到GNS3,对它并没有多大的兴趣,因为思科模拟器用过几个,觉得都差不多,再牛的模拟器应该也牛不过cisco官方的packet tracer吧,在做备份IOS实验时发现好像目前只有这个名不见经传的GNS3有这个能力,让我不觉的多看了它...
    99+
    2023-01-31
    入门
  • Python基础---Python介绍
      python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。  2017年最新的TIOBE排行榜,Py...
    99+
    2023-01-31
    基础 Python
  • HTML基础入门
      一、浏览器   浏览器是指可以显示网页服务器或者文件系统的HTML文件(标准通用标记语言的一个应用)内容,并让用户与这些文件交互的一种软件   1,浏览器种类   主流浏览器:Chrome,Firefox,Safari,Opera  ...
    99+
    2023-01-30
    入门 基础 HTML
  • Python:基础入门
    #Python 逻辑运算: and,or,not #Python中没有&&,||,!等短路逻辑运算符而是用and,or,not分别替代 print("================================ 逻辑运算...
    99+
    2023-01-31
    入门 基础 Python
  • PHP基础入门
    1.2 PHP简介 1.2.1 概述 PHP是Hypertext Preprocessor的缩写,(超文本预处理器)是一种在服务器端运行的开源的脚本语言。 LAMP组合(Linux,Apache,My...
    99+
    2023-09-26
    php 服务器 mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作