引用官网的定义:
TypeScript is a typed superset of JavaScript that compiles to plain
JavaScript. Any browser. Any host. Any OS. Open source.
翻译成中文即是:
TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript。编译出来的 JavaScript
可以运行在任何浏览器上。TypeScript 编译工具可以运行在任何服务器和任何系统上。TypeScript 是开源的。
全局安装ts
npm install -g typescript (mac记得 sudo)
**
1.指定变量类型
TypeScript 中,使用 : 指定变量的类型,: 的前后有没有空格都可以。
function sayHello(person: string) {
return 'Hello, ' + person;
}
注意⚠️:TypeScript 编译的时候即使报错了,还是会生成编译结果,我们仍然可以使用这个编译之后的文件。
2.空值
JavaScript 没有空值(Void)的概念,在 TypeScript 中,可以用 void 表示没有任何返回值的函数:
function alertName(): void {
alert('My name is Tom');
}
声明一个 void 类型的变量没有什么用,因为你只能将它赋值为 undefined 和 null:
let unusable: void = undefined;
如果定义为其他变量会报错
例如:
let unnone:void = "1111"
会报这样的错误❌
3.任意值
任意值(Any)用来表示允许赋值为任意类型。
普通类型的变量在赋值过程中是不允许改变类型的,否则会报错。
例如:
let number: string = 'seven';
myFavoriteNumber = 7;
如果一定为any任意值,则可以随意切换类型;
let number: any = 'seven';
number = 7;
number = true;
注意:变量如果未声明类型,则默认为any型。
在任意型的变量上,可以随意调用任何属性和方法。
let anyThing: any = 'hello';
console.log(anyThing.myName);
console.log(anyThing.myName.firstName);
let anyThing: any = 'Tom';
anyThing.setName('Jerry');
anyThing.setName('Jerry').sayHello();
anyThing.myName.setFirstName('Cat');
暂时没太明白作用。