个人对typescript的初步认知,认为ts是把js推向更加严谨的高度,将我们之前一度认为的js是弱类型语言推翻
第一反应是,在大型应用开发过程中,多人协作会方便多,一旦我们约定好一些规则后。就像我们之前使用的eslint,约束大家的代码风格一样
下面我们开始一步一步看其基础文档,这篇文章也是我个人边学习边写的,认知可能比较浅,毕竟也是第一次接触。我会把我第一次学习过程中的疑惑搞清楚并标记出来
基本类型
与js相比,保持js原有的数据类型,另添加枚举类型
- boolean let isDone: boolean = false;
- number let isNum: number = 1 | 0xf00d | 0o744; (同样支持十六进制等)
- string let isStr: string = ‘qwer’; ts新增模版字符串。可以多行输入,并可以在嵌入表达式
let fullName: string = `Bob Bobbington`;
let age: number = 37;
let sentence: string = `Hello, my name is ${ fullName }.
I'll be ${ age + 1 } years old next month.`;
我们可以看到在变量 sentence的value中,我们将其换行了,并在value中,嵌入了表达式 。其实上面的代码块,就和我们平时写js时,动态拼接字符串一样,只是省去了一些繁琐的’+ +’
等同于
let sentence: string = "Hello, my name is " + fullName + ".\n\n" +
"I'll be " + (age + 1) + " years old next month.";
- array 有两种表现形式 let list: number[] = [1, 2, 3];or let list: Array = [1, 2, 3];
- tuple(元组)文档代码如下
let x: [string, number];
// Initialize it
x = ["hello", 10]; // OK
更清晰的理解是,当我们申明一个tuple时,我们可以指定部分元素的类型
当我们指定的部分,必须强制定义为指定类型,超出部分,我们可以在前几个指定类型中任选一只能够类型即可
上面代码,我们申明第一个必须是字符串,第二个必须是数字,如果大于两个的时候,我们可以在字符串和数组中人选一种都不会报错
6. enum 枚举
7. any 通过any,退出类型检查。适用于我们从第三方获取的数据,预先不知道数据类型 let notSure: any = 4;