TypeScript1 基础类型
基础类型(TS -- 1)
我认为这个TypeScript跟C语言
是很像的,对语言的定义都有严格的规范。
应群友要求补充如何在vscode中使用TS:其实你看小满第一个视频,开头就有说(我进行补充)
- 全局安装TS
npm install -g typescript
- 检查是否安装成功
tsc -v
- 初始化生成配件文件
tsc --init
- 设置实时TS代码转换成JS代码:
shift+ctrl+B
选择监视- 然后写的TS编译成js,使用node在终端运行转换成功的js文件
let str:string = "这是字符串类型"
//上方我们将str这个变量定义为了string类型,如果对他输入其他类型的内容就会报错,例如:
let str:string = 666
//这个就会报错了,会提示你不能将类型"number"分配给类型"string"
let muban:string = `web${str}`
//我们也可以使用ES6中的模板字符串
let u:void = undefined
let u:void = null
//空值类型能够有这两种内容。void的内容也是不能去赋值给别人的
//某种程度上来说,void 类型像是与 any 类型相反,它表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是 void
function fnvoid():void{
return//函数也可以定义为空值,如果定义了void则不能返回内容
}
//undefined跟null类型的也可以交换着用的,具体区别放在了下面
八种内置类型
let str: string = "jimmy";
let num: number = 24;
let bool: boolean = false;//这里接收的是布尔值,不是布尔值对象(let b:boolean = new Boolean())
let u: undefined = undefined;
let n: null = null;
let obj: object = {x: 1};
let big: bigint = 100n;
let sym: symbol = Symbol("me");
注意点
null 和 undefined
默认情况下 null
和 undefined
是所有类型的子类型。 就是说你可以把 null
和 undefined
赋值给其他类型。
// null和undefined赋值给string
let str:string = "666";
str = null
str= undefined
// null和undefined赋值给number
let num:number = 666;
num = null
num= undefined
// null和undefined赋值给object
let obj:object ={};
obj = null
obj= undefined
// null和undefined赋值给Symbol
let sym: symbol = Symbol("me");
sym = null
sym= undefined
// null和undefined赋值给boolean
let isDone: boolean = false;
isDone = null
isDone= undefined
// null和undefined赋值给bigint
let big: bigint = 100n;
big = null
big= undefined
如果你在 tsconfig.json 指定了 "strictNullChecks":true
,null
和 undefined
只能赋值给 void
和它们各自的类型。
number 和 bigint
虽然 number
和 bigint
都表示数字,但是这两个类型不兼容。
let big: bigint = 100n;
let num: number = 6;
big = num;
num = big;
会抛出一个类型不兼容的 ts (2322) 错误。
转载自:https://juejin.cn/post/7224426218929553469