学习TypeScrip1(基础类型)

TS是JS的超集,所以JS基础的类型都包含在内

一、简介

TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。

1.1. ts官网

https://www.tslang.cn/

1.2. ts安装

// 安装:
npm install -g typescript

// 查看版本
tsc -v

1.3. ts运行

tsc test.ts

// 监听当个文件 实时编译
tsc test.ts -w

// 监听全部ts文件
tsc -w

// 编译所有ts文件
tsc

注:编写ts文件,运行ts文件是先编译成js后在执行js,想直接执行ts,可安装ts-node。

1.4. ts-node

这个组件是为了让我们直接执行 ts,省去了我们手动转换 js,它内部可以直接转换 js,然后直接运行,使用命令安装:

npm install -g ts-node

运行

ts-node xxx.ts

二、基础类型

2.1. 字符串类型

字符串是使用string定义的

let a: string = '123';
//普通声明

//也可以使用es6的字符串模板
let str: string = `dddd${a}`;

其中 ` 用来定义 ES6 中的模板字符串,${expr} 用来在模板字符串中嵌入表达式。

2.1. 数字类型

支持十六进制、十进制、八进制和二进制;

let notANumber: number = NaN; //Nan
let num: number = 123; //普通数字
let infinityNumber: number = Infinity; //无穷大
let decimal: number = 6; //十进制
let hex: number = 0xf00d; //十六进制
let binary: number = 0b1010; //二进制
let octal: number = 0o744; //八进制

2.3. 布尔类型

注意,使用构造函数 Boolean 创造的对象不是布尔值:

let createdBoolean: boolean = new Boolean(1);
//这样会报错 应为事实上 new Boolean() 返回的是一个 Boolean 对象

事实上 new Boolean() 返回的是一个 Boolean 对象 需要改成

let createdBoolean: Boolean = new Boolean(1);
let booleand: boolean = true; //可以直接使用布尔值

let booleand2: boolean = Boolean(1); //也可以通过函数返回布尔值

2.4. 空值类型

JavaScript 没有空值(Void)的概念,在 TypeScript 中,可以用 void 表示没有任何返回值的函数

function voidFn(): void {
	console.log('test void');
}

void 类型的用法,主要是用在我们不希望调用者关心函数返回值的情况下,比如通常的异步回调函数

如果你配置了tsconfig.json 是非严格模式 ,void也可以定义undefined 和 null类型,

// tsconfig.json 
{
    "compilerOptions":{
        "strict": false
    }
}
let u: void = undefined;
let n: void = null;

严格模式下,void不可以定义undefined 和 null类型,

// tsconfig.json 
{
    "compilerOptions":{
        "strict": true
    }
}

在这里插入图片描述

2.5. Null和undefined类型

let u: undefined = undefined; //定义undefined
let n: null = null; //定义null

2.6. void 和 undefined 和 null 最大的区别

与 void 的区别是,undefined 和 null 是所有类型的子类型。也就是说 undefined 类型的变量,可以赋值给 string 类型的变量:

  • 这样写会报错 void类型不可以分给其他类型
//这样写会报错 void类型不可以分给其他类型
let test: void = undefined;
let num2: string = '1';

num2 = test;
  • 这样是没问题的
//这样是没问题的
let test: null = null;
let num2: string = '1';

num2 = test;

//或者这样的
let test: undefined = undefined;
let num2: string = '1';

num2 = test;

学习TypeScrip2(Any 类型 和 unknown 顶级类型)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值