Skip to content

目录:

一、介绍

二、任意值(Any)

三、任意值的属性和方法

四、未声明类型的变量

字数:大约450字

一、介绍

TypeScript是由微软开发和维护的开源编程语言。它是JavaScript的超集,意味着任何有效的JavaScript代码也是有效的TypeScript代码。 TypeScript的主要特点之一是其类型系统,它允许开发人员向其代码添加静态类型。

二、任意值(Any)

用来表示允许赋值为任意类型。

什么是任意值类型

如果是一个普通类型,在赋值过程中改变类型是❌允许的

ts
let dogName: string = "小黄";
dogName = 90;

// 01.ts:3:1 - error TS2588: 
// Cannot assign to 'dogName' 
// because it is a constant.

但如果是 any 类型,则允许被赋值为任意类型。下面都可以✅

ts
let dogName: any = "小黄";

dogName = 90;

dogName = null;

dogName = undefined;

dogName = false;

三、任意值的属性和方法

在任意值上访问任何属性都是允许✅的:

ts
let anyThing: any = 'hello';
console.log(anyThing.myName);
console.log(anyThing.myName.firstName);

也允许调用任何方法:

ts
let anyThing: any = 'Tom';
anyThing.setName('Jerry');
anyThing.setName('Jerry').sayHello();
anyThing.myName.setFirstName('Cat');

可以认为,声明一个变量为任意值之后,对它的任何操作,返回的内容的类型都是任意值。

四、未声明类型的变量

变量如果在声明的时候,未指定其类型,那么它会被识别为任意值类型:

ts
let something;
something = 'seven';
something = 7;

something.setName('Tom');

等价于

ts
let something: any;
something = 'seven';
something = 7;

something.setName('Tom');

对于ts入门开发者来说,any真是很好的救命稻草。但是它也是致命的。对成长没有什么作用,所以尽可能的别用any类型,相当于没有使用ts。