TypeScript入门第一天,所有类型+基础用法+接口使用,前端校招面试题及解析大全

13 阅读3分钟

let decLiteral: number = 6; // 十进制

|

| 字符串类型 | string |

表示字符串,使用单引号(')或双引号(")来表示字符串类型。反引号(`)来定义多行文本以及用${}内嵌表达式。

let name: string = "小陈";

let words: string = `您好${ name }`;

|

| 布尔类型 | boolean |

表示逻辑值:true 和 false。在JavaScript和TypeScript里叫做boolean

|

| 数组类型 | 无 |

声明变量为数组。

// 在元素类型后面加上[]

let arr: number[] = [1, 2];

// 或者使用数组泛型,Array<元素类型>

let arr: Array = [1, 2];

|

| 元组(Tuple) | 无 |

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

let x: [string, number];

x = ['小陈', 1]; // 运行正常

x = [1, '小陈']; // 报错

console.log(x[0]); // 输出 小陈

x[3] = 'world'; // 越界的元素会使用联合类型替代,可以赋值给(string | number)类型

|

| 枚举 | enum |

枚举类型用于定义数值集合,可以为一组数值赋予友好的名字。

enum Color {Red, Green, Blue};

let c: Color = Color.Blue;

console.log(c); // 输出 2

let cName: string = Color[2];

console.log(cName); // 输出 Blue

|

| void | void |

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

声明一个void类型的变量没什么用,你只能为它赋予undefinednull

function hello(): void {

alert("Hello");

}//当一个函数没有返回值时,你通常会见到其返回值类型是 void

|

| null | null |

表示对象值缺失。

|

| undefined | undefined |

用于初始化变量为一个未定义的值

|

| never | never |

never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。

|

这里有个细节就是变量声明 :

const是对let的一个增强,它能阻止对一个变量再次赋值。如果在同一作用域内重复声明某个变量或常量就会报错,所有typescript内推荐使用它们来代替 var。

二、类型断言


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

语法:<类型>值    或    值 as 类型

var str = '1' //数字或者所有类型都可以

var str2:number = str //str、str2 是 string 类型

console.log(str2) //用完断言打印数字1

注意:断言不被称为类型转换,是因为转换通常意味着某种运行时的支持。但是,类型断言纯粹是一个编译时语法 。

三、typescript接口


TypeScript的核心原则之一是对值所具有的_结构_进行类型检查,接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。

1.我们通过实例介绍:(interface关键字定义接口)

interface A { //定义了一个接口 A

Name:string,

age:number,

sayHi: ()=>string

}

var customer:IPerson = {

Name:"小陈",

age:21,

sayHi: ():string =>{return "Hi"}

}

console.log("Customer 对象 ")

console.log(customer.Name) //小陈

console.log(customer.age) //21

console.log(customer.sayHi()) //Hi

 2.可选属性

可选属性的好处之一是可以对可能存在的属性进行预定义,好处之二是可以捕获引用了不存在的属性时的错误。只需在可选属性名字定义的后面加个?

interface SquareConfig {

color?: string;

width?: number;

} //函数传入的参数对象中只有部分属性赋值了,这里只给接口来定义的color赋值了

function createSquare(config: SquareConfig): { color: string; area: number } {

最后

资料过多,篇幅有限

自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。

开源分享:docs.qq.com/doc/DSmRnRG…