TypeScript初认识

TypeScript初认识(基础类型和搭建环境)

最近豆芽也是开始了TypeScript和vue3.0项目的开发,这篇也是进行了一个TypeScript的回顾和巩固,TypeScript作为了JavaScript超集,可以在任何浏览器去远行。TypeScript和JavaScipt最大的区别在于Typ提供了类型系统。TypeScript 通过类型注解提供编译时的静态类型检查。

ts基础类型

布尔值(boolean)

let beanSprouts: boolean = false;

数字(number)

let beanSprouts: number = 666;

字符串(string)

let beanSprouts: string = "曹豆芽";

数组(array)

数组我们可以去分为二种去定义

第一种直接使用[]去定义数组

let beanSprouts: number[] = [1,2,3];

第二种我们可以使用数组的泛型去定义

let beanSprouts:Arry<number> = [1,2,3];

元组(tuple)

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。

let beanSprouts:[string,number];
beanSprouts = ['曹豆芽',666];

枚举(enum)

枚举是对 js 标准数据类型的补充,声明一组带名字的常量

enum beanSprouts {
  rat,
  cattle,
  tiger,
  rabbit,
  dragon
}
beanSprouts.dragon === beanSprouts['dragon'] => true//使用点语法或者中括号访问对象成员即可

任意值(any)

有时候,我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型。 这些值可能来自于动态的内容,比如来自用户输入或第三方代码库。 这种情况下,我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。 那么我们可以使用 any类型来标记这些变量:

let beanSprouts: any = 666;
beanSprouts = "曹豆芽";
beanSprouts = false;

unknown

如果是any你可以任意的取值赋值,不会进行任何的类型检查。但unkown就不一样了,必须先进行断言 就是使用typeof 或 instanceof 来判断类型。我们只能将 unknown 类型的变量赋值给 any 和 unknown。

let beanSprouts: unknown = '曹豆芽';
let notSure: any = beanSprouts;

空值(void)

在某种意义来讲,void的类型和any类型相反,它表示没有任何类型

let beanSprouts: void = undefined;
let beanSprouts: void = null;
//当在函数去定义void,那么表示这个函数是没有返回值的
function beanSprouts(): void{
	alert('曹豆芽');
}

不存在的值(never)

never它表示的是那些不存在的值的类型,never类型是任何类型的子类型,也可以赋值给任何类型;然而,没有类型是never的子类型或可以赋值给never类型(除了never本身之外)。 即使 any也不可以赋值给never。

// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message);
}

// 推断的返回值类型为never
function fail() {
    return error("Something failed");
}

// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
    while (true) {
    }
}

undefined和null

默认情况下null和undefined是所有类型的子类型。 就是说你可以把 null和undefined赋值给number类型的变量。

let beanSprouts: undefined = undefined;
let beanSprouts: null = null;

类型断言

有些情况下,变量的类型对于我们来说是很明确,但是TS编译器却并不清楚,此时,可以通过类型断言来告诉编译器变量的类型,断言有两种形式:

let beanSprouts: unknown = "曹豆芽";
let beanSproutsLength: number = (beanSprouts as string).length;
let beanSprouts: unknown = "this is a string";
let beanSproutsLength: number = (<string>beanSprouts).length;

创建ts文件环境

npm安装ts

npm install -g typescript

构建一个ts文件

新建beanSprouts.ts文件
在这里插入图片描述

function greeter(person) {
    return "Hello, " + person;
}

let user = "曹豆芽";


console.log(greeter(user))
tsc beanSprouts.ts//此时生成了beanSprouts.js

在这里插入图片描述
在这里插入图片描述

到这里一个基本的ts的运行环境搭建完成,那么下一篇文章主要去分享的是ts面相对象的知识。

最近自己也是创建了一个公众号,那么以后的代码学习笔记也是会在这公众号同步更新,学习笔记,学习视频,代码工具也会分享在公众号里面。

感兴趣的可以关注☺️☺️☺️
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值