TypeScript基础数据类型以及变量声明

一、TypeScript 包含的数据类型:

1.any:任意类型 ,声明为 any 的变量可以赋予任意类型的值。

2.number:数字类型,双精度 64 位浮点值。它可以用来表示整数和分数。

3.string:字符串类型。

4.boolean:布尔类型。

5.数组类型:声明变量为数组。

let arr: number[] = [1, 2];
console.log(arr)
let arr2: Array<number> = [1,2];
console.log(arr2) //[ 1, 2 ]
let arr3: Array<string> = ["1","2"];
console.log(arr3) //[ '1', '2' ]
let arr4: Array<any> = ["1",2];
console.log(arr4) //[ '1', 2 ]

6 .元组:元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。

let yz: [string, number]; //元组
yz = ['yz', 1]; 
console.log(yz) //[ 'yz', 1 ]

7.enum:枚举类型用于定义数值集合。列举类型中包含的各个值,一般用它来管理多个相同系列的常量,用于状态的判断。

enum Gender {Man = "男", Woman = "女"};
let m: Gender = Gender.Man;
let w: Gender = Gender.Woman;

console.log(m,w);    // 输出 男 女

注:可以通过Gender去做性别类型判断,提升代码的可读性和易维护性。 

8.void:用于标识方法返回值的类型,表示该方法没有返回值。

function hello(): void {
    alert("Hello World");
}

9.null:表示对象值缺失,null是一个只有一个值的特殊类型。表示一个空对象引用。用 typeof 检测 null 返回是 object。

let oneNull:null = null;
console.log(oneNull); //null
console.log(typeof oneNull); //object

10.undefined:用于初始化变量为一个未定义的值.

let oneUndefined:undefined;
console.log(oneUndefined); //undefined
console.log(typeof oneUndefined); //undefined

11.never:是其它类型(包括 null 和 undefined)的子类型代表从不会出现的值。声明为 never 类型的变量只能被 never 类型所赋值,在函数中它通常表现为抛出异常或无法执行到终止点(例如无限循环)。

let oneNever: never;
oneNever = (()=>{ throw new Error('oneNever')})();
function oneNever(): never {
    while (true) {}
}

注:Null 和 Undefined 是其他任何类型(包括 void)的子类型,可以赋值给其它类型,如数字类型,此时,赋值后的类型会变成 null 或 undefined。(在不启用strictNullChecks情况下,不然只能只能被赋值给 void 或本身对应的类型)

二、TypeScript 的变量声明:

1.变量声明:

let [变量名] : [类型] = 值;
let oneName : string = "xiaoguai";

2.类型断言:可以用来手动指定一个值的类型

// <类型>值
// 值 as 类型
let hello:string = "Hello World!";
let str:string = "1";
// let str2:number =  <number> <any> str
let str2:number =   str as any 

console.log(str2)//"Hello World!"

console.log(typeof str2)  //string

注:当 A 类型是 B 类型的子集,或者 B 类型是 A 类型的子集时,A 能被成功断言成 B。

3.类型推断:当类型没有给出时,TypeScript 编译器利用类型推断来推断类型。如果由于缺乏声明而不能推断出类型,那么它的类型被视作默认的动态 any 类型。

4.变量作用域:

(1)全局作用域 − 全局变量定义在程序结构的外部,它可以在你代码的任何位置使用。

(2)类作用域 − 这个变量也可以称为 字段。类变量声明在一个类里头,但在类的方法外面。 该变量可以通过类的对象来访问。类变量也可以是静态的,静态的变量可以通过类名直接访问。

(3)局部作用域 − 局部变量,局部变量只能在声明它的一个代码块(如:方法)中使用。

有问题可以在下面评论,我会为大家解答。

猜你喜欢

转载自blog.csdn.net/samxiaoguai/article/details/128228793