Typescript入门学习笔记

1.ts介绍与安装

Javascript是一门弱类型动态语言,开发大型项目时,开发速度快,但是后期维护非常困难

针对于JavaScript的此个痛点,有了TyepScript.(微软开发),属于Javascript的超集.对JavaScript语法就行了扩展.添加了静态类型检查和一些新的特性

现有的JavaScript代码可以与TypeScript一起工作,无需进行任何转换和修改.(TyepScript中可以允许JavaScript代码!)

TypeScript通过类型注解提供编译时的静态类型检查.

安装

npm i typescript -g

(安装完毕输入tsc -v查看版本)

tsc

在项目命令行中输入tsc会生成tsconfig,json文件,编译项目中的所有ts文件

tsc xxx.ts

只编译xxx.ts文件

tsc -w xxx.ts

监听xxx.ts文件 只要保存就编译

安装ts-node

npm i ts-node -t

ts-node xxx.ts //直接运行xxx.ts


ts基本类型

1.Boolean(布尔型):标识逻辑值true或false

let isDone: boolean = false;

2.Number(数字型):表示数字,包括整数和浮点数。

let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;

3.String(字符串型):表示文本数据。

let color: string = "blue";
let fullName: string = `Bob Bobbington`;

4.Array(数组型):表示一组同类型的值的集合。

let list: number[] = [1, 2, 3];
let fruits: Array<string> = ["apple", "banana", "orange"];

number[ ]代表元素为number类型的数组,Array<string> 代表元素为string类型的数组

5.Tuple(元组型):表示已知数量和类型的数组。

let x: [string, number];
x = ["hello", 10]; // OK
// x = [10, "hello"]; // Error

6.Enum(枚举型):用于定义一组命名的常量值。

enum Color {
    Red,
    Green,
    Blue,
}
let c: Color = Color.Green;

7.Any(任意型):表示任意类型的值,可以在编译时或运行时动态改变类型。

let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // OK

8.Void(无类型):表示没有任何类型,通常用于函数没有返回值的情况。

function warnUser(): void {
    console.log("This is a warning message");
}

无返回值

9.Null 和 Undefined(空和未定义):表示值为空或未定义。

let u: undefined = undefined;
let n: null = null;

严格模式下undefined != null,非严格模式下等于

10.Never(永不存在的值的类型):表示永远不存在的值的类型,用于抛出异常或无法执行到终点的函数。

function error(message: string): never {
    throw new Error(message);
}

11.unknow类型:表示值的类型未知,在类型检查时它类似于 any 类型,但是与 any 类型不同的是,unknown 类型的变量不能直接赋值给其他类型的变量,除非进行类型断言或类型检查。

 

let userInput: unknown;
let userName: string;

userInput = 5;
userInput = "Max";

// 不能直接将 unknown 类型的值赋值给其他类型的变量
// userName = userInput; // Error: Type 'unknown' is not assignable to type 'string'

// 需要进行类型检查或类型断言后才能赋值
if (typeof userInput === "string") {
    userName = userInput; // OK
}

// 或者使用类型断言
userName = userInput as string; // OK

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值