这篇文章,来学习一下 TypeScript 中的基础类型。
TypeScript 申明变量类型的方式和 Kotlin 相同,变量名后面加 : 变量类型:
var/let/const 变量名: 变量类型 = 值;
// 例如:
var name: string = "Sam";
TypeScript 除了支持 JavaScript 的基础类型,还额外提供了枚举等类型。
布尔值
布尔值是指逻辑上的 true/false,在 JavaScript/TypeScript 中用 boolean 关键字来表示布尔类型。
let flag: boolean = false;
数字
number
和 JavaScript 一样,TypeScript 中所有的数字都是浮点数,类型是 number。除了支持十进制和十六进制字面量,TypeScript 还支持 ES 2015 引入的二进制和八进制字面量。
let decLiteral: number = 6; // 十进制
let hexLiteral: number = 0xf00d; // 十六进制
let binaryLiteral: number = 0b1010; // 二进制
let octalLiteral: number = 0o744; // 八进制
Number
Number 类是数字 number 的包装类。使用方式如下:
var num = new Number(value);
// 例如:
var num = new Number(10);
如果参数不能转换为一个数字,则会返回 NaN。
Number 对象属性
MAX_VALUE:可表示的最大的数,值接近1.79E+308,大于 MAX_VALUE 的值表示InfinityMIN_VALUE:可表示的最小的数,也就是最接近 0 的正数,值约为5E-324,小于 MIN_VALUE 的值会被转化为 0。最大的负数是-MIN_VALUE。NaN:非数字值(Not a Number)NEGATIVE_INFINITY:负无穷大,溢出时返回这个值,比 MIN_VALUE 小。POSITIVE_INFINITY:正无穷大,溢出时返回这个值,比 MAX_VALUE 大。
console.log("TypeScript Number 属性: ");
console.log("最大值为: " + Number.MAX_VALUE);
console.log("最小值为: " + Number.MIN_VALUE);
console.log("负无穷大: " + Number.NEGATIVE_INFINITY);
console.log("正无穷大: " + Number.POSITIVE_INFINITY);
// 输出
TypeScript Number 属性:
最大值为: 1.7976931348623157e+308
最小值为: 5e-324
负无穷大: -Infinity
正无穷大: Infinity
var month = 0
if( month <= 0 || month > 12) {
month = Number.NaN
console.log("月份是:"+ month)
} else {
console.log("输入月份数值正确。")
}
// 输出
月份是:NaN
Number 的对象方法
列举几个常见的 Number 类的方法:
toString():把数字转化为字符串,可以指定进制,默认是 10 进制,可以在 2 ~ 36 进制之间选择。
var num = new Number(10);
console.log(num.toString()); // 输出10进制:10
console.log(num.toString(2)); // 输出2进制:1010
console.log(num.toString(8)); // 输出8进制:12
toFixed():把数字转换为字符串,可以对小数点指定位数,默认不保留小数。
var num3 = 177.234
console.log("num3.toFixed() 为 "+num3.toFixed()) // 输出:177
console.log("num3.toFixed(2) 为 "+num3.toFixed(2)) // 输出:177.23
console.log("num3.toFixed(6) 为 "+num3.toFixed(6)) // 输出:177.234000
字符串
和 JavaScript 中一样,TypeScript 中使用双引号(")或单引号(')来表示字符串,类型是 string。
let name: string = "bob";
name = 'owen';
还可以使用 模板字符串,它支持 多行文本和内嵌表达式,用反引号( **** )表示。以 ${expr}` 形式来嵌入表达式。
let name: string = `Owen`;
let age: number = 18;
let desc: string = `Hello, my name is ${ name }.
I'm ${ age } years old.`;
// 运行结果
Hello, my name is Owen.
I'm 18 years old.
这个和下面写法效果相同:
let desc: string = "Hello, my name is" + name + ".\n\n" +
"I'm " + age + " years old."
String
String 是 string 的包装类。使用方式如下:
var text = new String("Hello");
// 或者直接使用字符字面量赋值
var text = "Hello";
String 对象属性
length:字符串的长度。
数组
TypeScript 中有两种方式来定义数组。第一种是在元素类型后加上 [],表示这个类型元素组成的数组:
let list: number[] = [1, 2, 3];
第二种是使用数组范型,也就是 Array<元素类型>:
let list: Array<number> = new Array(1, 2, 3);
// 或者
let list: Array<number> = [1, 2, 3];
数组解构
可以利用解构将数组中的元素同时赋值给多个变量。
var list: number[] = [1, 2];
var [x, y, z] = list;
console.log(x); // 输出 1
console.log(y); // 输出 2
console.log(z); // 输出 UnDefined
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情