我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScriptTypescript基础使用教程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScriptTypescript基础使用教程

简介

typescript是微软公司开发的开源编程语言,Type+Javascript(type是类型,在js的基础上添加了类型支持)

简称:ts,是Javascript的超集

安装

node.js或者我们的浏览器,他只认识js代码,不认识ts代码,所以我们需要把我们的ts转换为我们的js代码,然后进行运行操作

安装命令

npm i -g typescript

yarn global add typescript

ts包就是用来编译TS代码的包,提供了tsc的命令,实现ts->js

检验是否安装成功:

tsc -v

注意:Mac 电脑安装全局包时,需要添加 sudo 获取权限:sudo npm i -g typescript yarn 全局安装:sudo yarn global add typescript

使用原因

类型推演与类型匹配

开发编译时报错

极大程度的避免了低级错误

支持JavaScript最新特性(包含ES6/7/8)

Hello TypeScript

hello.ts文件

function sayHello(person: string) {
    return 'Hello, ' + person;
}
let user = 'Tom';
console.log(sayHello(user));

执行命令

tsc hello.ts

这时候会自动给我们生成一个helio.js文件

function sayHello(person) {
    return 'Hello, ' + person;
}
var user = 'Tom';
console.log(sayHello(user));

从上面我们可以看出,我们使用:指定的变量的类型,在自动生成的js文件中却消失了

这是因为TyperScript只会在编译时对类型进行静态检查,如果发现有错误,编译的时候就会进行报错,而在运行时,与普通的Javascript文件一样,不会对类型进行检查

TypeScript类型概述

我们可以细分为两类

JS原有的类型

原始类型,简单类型(number/string/boolean/null/undefined)

特点:简单,这些类型,是完全按照JS中的类型的名称来书写

复杂数据类型(数组,对象,函数等)

TS新增的类型

联合类型:联合类型使用|分割每个类型,取值可以为多种类型的一种

自定义类型(类型别名)

接口:是一个非常灵活的概念,接口一般首字母大写,有的编程语言中会建议接口加上I前缀

元组:元组类型是另一种类型的数组,它确切地知道包含多少个元素,以及特定索引对应的类型,number有个缺点,就是不严谨,该类型中的数组可以出现任意多个数字

字面量类型:字符串字面量类型用来约束取值只能是某几个字符串中的一个

枚举:枚举(Enum)类型用于取值被限定在一定范围内的场景,比如一周只能有七天,颜色限定为红绿蓝等

任意类型:any表示允许赋值为任意类型

void:函数的返回值类型是void

类型别名

type Name = string;
type NameResolver = () => string;
type NameOrResolver = Name | NameResolver;
function getName(n: NameOrResolver): Name {
    if (typeof n === 'string') {
        return n;
    } else {
        return n();
    }
}

使用type创建类型别名

泛型

泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性

// 基本泛型
let list1: Array<number> = [1, 2, 3]
// 动态泛型
let makeTuple = <T, Y>(x: T, y: Y) => [x, y];
const v1 = makeTuple(1, 'one')
const v2 = makeTuple(true, 1)

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JavaScriptTypescript基础使用教程

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

下载Word文档

猜你喜欢

JavaScriptTypescript基础使用教程

TypeScript是Microsoft(微软)开发的一种开源编程语言,它充分利用了JavaScript原有的对象模型,并在此基础上进行了扩充,TypeScript设计目标是开发大型应用,它可以编译成纯JavaScript,编译出来的JavaScript可以运行在任何一种JS运行环境中
2022-12-08

Vue electron零基础使用教程

Electron也可以快速地将你的网站打包成一个原生应用发布,下面这篇文章主要给大家介绍了关于Vue和React中快速使用Electron的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
2022-11-13

Android Studio使用教程(四):Gradle基础

其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧。 什么是Gradle? Gradle是
2022-06-06

IDEA 2022 中的Lombok 使用基础教程

​Lombok是使用java编写的一款开源类库。其主作用是使用注解来代替一些具有格式固定,没有过多技术含量的编码工作,这篇文章主要介绍了IDEA 2022 中的Lombok 使用基础教程,需要的朋友可以参考下
2022-12-24

python 基础教程之Map使用方法

Python Map Map会将一个函数映射到一个输入列表的所有元素上。Map的规范为:map(function_to_apply, list_of_inputs) 大多数时候,我们需要将列表中的所有元素一个个传递给一个函数,并收集输出。
2022-06-04

android基础教程之context使用详解

在android中有两种context,一种是application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。 区别联系:代码如下:public class
2022-06-06

python基础教程之Filter使用方法

python Filter Python中的内置函数filter()主要用于过滤序列。和map类似,filter()也接收一个函数和序列,和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是 True还是F
2022-06-04

Netty学习教程之基础使用篇

什么Netty?Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户、服务器端编程框架
2023-05-31

Wireshark零基础使用教程(超详细)

Wireshark 是一款开源的网络抓包工具,用于分析网络中的数据包。它可以帮助你深入了解网络通信过程,发现问题和解决网络故障。本教程将向你介绍如何使用 Wireshark,包括下载和安装、抓包、过滤和分析数据包等。1. 下载和安装Wire
2023-09-23

Python基础教程

6.4.5 参数收集的逆过程假设有如下函数:def add(x,y): return x+y比如说有个包含由两个相加的数字组成的元组:params = (1,2)使用*运算符对参数进行“分配”,不过是在调用而不是在定义时使用:>>> add
2023-01-31

Discuz! 的防水墙使用教程(基础篇)

Discuz! 防水墙于今年5月正式上线,截至9月底,已经为数十万社区网站提供垃圾信息处理服务,不论是广告帖、垃圾帖、水帖、违规帖等不良信息,Discuz! 防水墙均可快速、高效的进行过滤。  为了让更多站长santuFImB了解、熟悉Di
2022-06-12

Python中的sort()方法使用基础教程

一、基本形式sorted(iterable[, cmp[, key[, reverse]]]) iterable.sort(cmp[, key[, reverse]])参数解释:(1)iterable指定要排序的list或者iterable
2022-06-04

编程热搜

目录