什么是 typescript:
ts 是 js 的超集,提供一套强类型规范(js 是弱语言)
ts 的优点:
模块管理更佳
类型检查更严格(现在只能体会到这一点)
typescript 使用
安装: npm i -g typescript
作用:
语法:
在定义函数时 function 函数名(变量名: 数据类型)
语法:
数据类型:
原始数据类型: string number boolean null undefined symbol
对象类型(引用数据类型):
定义变量:
let/var/const 变量名: 数据类型 (= 值)
注意:
布尔值:
let flag: boolean = true boolean: 是一个原始类型
let flag1: Boolean = new Boolean(1) Boolean: 是一个包装后的对象
console.log(flag===flag1) //false
但直接调用Boolean也可以返回一个原始对象
let flag2 :boolean = Boolean(1)
数值:在 ts 当中可以通过进制表示法来表示数字,但编译后会转成十进制
空值: void 用 void 标识没有返回任何值得函数
任意值类型: 一般来说,确定了数据类型的值就不能再被更改数据类型
但如果数据类型是 any 就可以任意更改
声明但未赋值的变量如果未声明类型的变量会被识别为 any 类型
联合类型: 表示取值类型可以为多个类型中的一种
let myFavoriteNumber: string | number;
只能访问他们的共有属性和方法
function sayHello(person: string) {
return 'Hello, ' + person;
}
// let user = [0, 1, 2];
let user = 'Tom';
console.log(sayHello(user));
let flag: boolean = true
let flag1: Boolean = new Boolean(1)
console.log(flag === flag1) //false
console.log(flag == flag1) //true
/* 数值 */
let decLiteral: number = 6;/* 十进制 */
let hexLiteral: number = 0xf00d;/* 十六进制 */
// ES6 中的二进制表示法
let binaryLiteral: number = 0b1010;
// ES6 中的八进制表示法
let octalLiteral: number = 0o744;
let notANumber: number = NaN;
let infinityNumber: number = Infinity;/* 无穷大 */
/* 联合类型 */
let myFavoriteNumber: string | number = 'seven';
参考ts入门教程
下次学习内容: 接口