返回顶部
首页 > 资讯 > 精选 > typeScript入门基础知识有哪些
  • 212
分享到

 typeScript入门基础知识有哪些

2023-06-29 05:06:58 212人浏览 泡泡鱼
摘要

本文小编为大家详细介绍“ typescript入门基础知识有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“ typeScript入门基础知识有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知

本文小编为大家详细介绍“ typescript入门基础知识有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“ typeScript入门基础知识有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

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”的参数。

 typeScript入门基础知识有哪些

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 注释掉,就会报错,提示:

 typeScript入门基础知识有哪些

在本实例中,接口的意义就是限定传入 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入门基础知识有哪些”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题:  typeScript入门基础知识有哪些

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

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

猜你喜欢
  •  typeScript入门基础知识有哪些
    本文小编为大家详细介绍“ typeScript入门基础知识有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“ typeScript入门基础知识有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-06-29
  • Java入门基础知识有哪些
    这篇文章主要介绍“Java入门基础知识有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java入门基础知识有哪些”文章能帮助大家解决问题。Java 是由Sun Microsystems公司于19...
    99+
    2023-06-02
  • TypeScript入门知识点有哪些
    这篇文章主要介绍“TypeScript入门知识点有哪些”,在日常操作中,相信很多人在TypeScript入门知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Type...
    99+
    2024-04-02
  • MySQL基础入门知识有哪些呢
    MySQL基础入门知识有哪些呢,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  MySQL是一个关系型数据库管理系统,由瑞典MySQL A...
    99+
    2024-04-02
  • mysql入门基础知识点有哪些
    本篇内容介绍了“mysql入门基础知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、开始使用M...
    99+
    2024-04-02
  • XHTML基础入门知识点有哪些
    本篇内容主要讲解“XHTML基础入门知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“XHTML基础入门知识点有哪些”吧!...
    99+
    2024-04-02
  • jQuery入门基础知识点有哪些
    这篇文章主要为大家展示了“jQuery入门基础知识点有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery入门基础知识点有哪些”这篇文章吧。什么是jQ...
    99+
    2024-04-02
  • Html基础入门知识点有哪些
    这篇文章主要介绍“Html基础入门知识点有哪些”,在日常操作中,相信很多人在Html基础入门知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Html基础入门知识点有...
    99+
    2024-04-02
  • Opengles2.0入门基础知识点有哪些
    Opengles 2.0入门基础知识点包括以下内容:1. 绘图基础:了解2D和3D图形的概念,理解坐标系统和图形渲染的过程。2. O...
    99+
    2023-09-20
    Opengles
  • JavaScript基础入门知识点有哪些
    这篇文章给大家分享的是有关JavaScript基础入门知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JavaScript简介JavaScript(Java脚本)是一种基于对象(Object)和事件驱动...
    99+
    2023-06-27
  • HTML入门基础的知识点有哪些
    这篇文章给大家分享的是有关HTML入门基础的知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。标记、标签、元素标签和元素通常是描述同样的意思,但是严格来说,一个HTML元...
    99+
    2024-04-02
  • jQuery零基础入门知识点有哪些
    这篇“jQuery零基础入门知识点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jQ...
    99+
    2024-04-02
  • Linux grep基础入门知识点有哪些
    这篇文章主要介绍了Linux grep基础入门知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux grep基础入门知识点有哪些文章都会有所收获,下面我们一起来看看吧。grep 指令用于查找内容...
    99+
    2023-06-27
  • Redis数据库入门基础知识有哪些
    本篇文章为大家展示了Redis数据库入门基础知识有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  Redis是一个开源的使用ANSIC语言编写、支持网络、可基...
    99+
    2024-04-02
  • 零基础入门HTML的知识点有哪些
    这篇文章主要介绍“零基础入门HTML的知识点有哪些”,在日常操作中,相信很多人在零基础入门HTML的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”零基础入门HTM...
    99+
    2024-04-02
  • C#网络编程入门基础知识有哪些
    这篇文章主要介绍“C#网络编程入门基础知识有哪些”,在日常操作中,相信很多人在C#网络编程入门基础知识有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#网络编程入门基础知识有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-17
  • MySql入门--基础知识
    一、Mysql 物理文件组成 (一)日志文件 1、错误日志:Error Log 错误日志记录了MyQL Server 运行过程中所有较为严重的警告和错误信息,以及MySQLSer...
    99+
    2024-04-02
  • Java基础入门知识
    以下是学习java必备的知识 目录 前言 一、Java入门 二、基本数据类型与数组 标识符与关键字 2. 基本数据类型 3. 类型转换运算 4. 运算符 5. 数组 6.控制结构(与c使用一致) 总结 ...
    99+
    2023-09-01
    java
  • Python基础知识入门(一)
    Python基础知识入门(二) Python基础知识入门(三) Python基础知识入门(四) Python基础知识入门(五) 一、发展历程        Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1...
    99+
    2023-09-05
    开发语言 python 基础学习
  • Python基础知识入门(二)
    Python基础知识入门(一) Python基础知识入门(三) Python基础知识入门(四) Python基础知识入门(五) 一、数字类型        Python 数字数据类型用于存储数值。数据类型是不允许改变,如改变数字数据类型的...
    99+
    2023-09-06
    开发语言 python 基础学习
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作