示例:
let n1: number = 8; // 十进制
let n2: number = 0xf00d; // 十六进制
let n3: number = 101010; // 二进制
let n4: number = 0o633; // 八进制
console.log(n1, n2, n3, n4);
编译成 JavaScript 代码:
var n1 = 8; // 十进制
var n2 = 0xf00d; // 十六进制
var n3 = 101010; // 二进制
var n4 = 411; // 八进制
console.log(n1, n2, n3, n4);
// 8 61453 101010 411
什么是十进制、二进制、八进制、十六进制:
- 十进制:十进制数就是用 0、1、2 ....9,这十个数来表示的数。
- 二进制:二进制数据是用 0 和 1 两个数码来表示的数。它的基数为 2,进位规则是“逢二进一”,借位规则是“借一当二”。
- 八进制:八进制是一种以 8 为基数的计数法,采用 0,1,2,3,4,5,6,7 八个数字,逢八进 1。
- 十六进制:十六进制是计算机中数据的一种表示方法。同我们日常中的十进制表示法不一样。一般用数字 0 到 9 和字母 A 到 F(或 a~f)表示,这些数字和字母任意组合用来表示 0~15 之间的某个字。其中 A~F 表示 10~15,这些称作十六进制数。
布尔类型
布尔类型 boolean 表示逻辑值,只有 true 和 false 这两个值。
示例:
例如声明两个布尔类型的变量,并输出:
const b1: boolean = true;
const b2: boolean = false;
console.log(b1, b2);
将上述代码编译成 JavaScript 代码:
var b1 = true;
var b2 = false;
console.log(b1, b2);
输出:
true false
字符串类型
字符串类型 string 用于表示文本数据类型,与 JavaScript 中一样,可以使用单引号 或双引号 " 来表示字符串。
示例:
声明一个字符串类型的变量:
let str: string = "侠课岛";
console.log(str);
输出:
侠课岛
数组类型
数组类型有两种表示方法,第一种在元素类型后接上中括号 [],表示此类型元素组成的一个数组。
示例:
例如声明一个由数字类型组成的数组 num,和一个由字符串类型组成的数组 character:
// 在元素类型后面加上[],定义数字类型数组
let num: number[] = [1, 2, 3];
console.log(num);
// 定义字符串类型数组
let character: string[] = [a, b, c];
console.log(character);
第二种方式是使用数组泛型,格式为 Array<元素类型>。
示例:
例如声明一个数字类型的数组:
// 使用数组泛型
let arr: Array<number> = [1, 2, 3];
console.log(arr2);
将上面的代码都编译成 JavaScript 代码:
// 使用数组泛型
var arr = [1, 2, 3];
console.log(arr2);
输出:
[ 1, 2, 3 ]
元组类型
元组表示已知元素数量和类型的数组,元组中的元素可以由是不同类型,但是要注意,所定义类型的个数和顺序必须与元素值一一对应,少一个都不行。
示例:
声明一个元组,元组中的第一个元素为字符串类型,第二个元素为数字类型:
// 类型和值必须一一对应
let tuple: [string, number] = [小飞侠, 18];
console.log(tuple);
console.log(tuple[0]);
编译成 JavaScript 代码:
// 类型和值必须一一对应
var tuple = [小飞侠, 18];
console.log(tuple);
console.log(tuple[0]);
输出:
[ 小飞侠, 18 ]
小飞侠
枚举类型
枚举类型 enum 用于定义数值集合。
示例:
声明一个枚举类型的变量 Fruits,这个变量中有三个不同的值:
enum Fruits {watermelon, Apple, Litchi};
console.log(Fruits);
将代码编译成 JavaScript 代码:
var Fruits;
(function (Fruits) {
Fruits[Fruits["watermelon"] = 0] = "watermelon";
Fruits[Fruits["Apple"] = 1] = "Apple";
Fruits[Fruits["Litchi"] = 2] = "Litchi";
})(Fruits || (Fruits = {}));
;
console.log(Fruits);
执行代码后输出结果为:
{
0: watermelon,
1: Apple,
2: Litchi,
watermelon: 0,
Apple: 1,
Litchi: 2
}
any 任意类型
任意值是 TypeScript 针对编程时类型不明确的变量使用的一种数据类型,声明为 any 的变量可以赋予任意类型的值。
示例:
例如声明一个 any 类型的变量 unknown:
let unknown: any;
unknown = 7; // 数字类型
console.log(unknown);
unknown = xkd; // 字符串类型
console.log(unknown);
unknown = false; // 布尔类型
console.log(unknown);
将上述代码编译成 JavaScript 代码:
var unknown;
unknown = 7; // 数字类型
console.log(unknown);
unknown = xkd; // 字符串类型
console.log(unknown);
unknown = false; // 布尔类型
console.log(unknown);
输出:
7
xkd
false
void 类型
在 Java 等语言中,如果一个方法没有返回值,则默认该方法返回值类型为 void 类型。
在 JavaScript 中并没有此类型,这个 TypeScript 新增的类型。
void 可用于标识方法返回值的类型,表示该方法没有返回值。
示例:
如果定义函数时,没有返回值,建议在函数名后面接一个 void。例如下面这个函数 show() ,我们没有给它指定返回值,所以指定这个函数的返回值为 void 类型:
function show(): void {
console.log("你好,侠课岛!");
}
// 调用函数
show();
编译成 JavaScript 代码:
function show() {
console.log("你好,侠课岛!");
}
// 调用函数
show();
输出:
你好,侠课岛!
Null类型和Undefined 类型
null 类型和 undefined 类型与 JavaScript 中的对应类型非常类似,这两个类型分别是 Null 类型和 Undefined 的直接量,也是唯一的值。
示例:
var n = null;
var u = undefined;
console.log(n, u); // null undefined
Never类型
Never 类型表示的是那些永不存在的值的类型。
示例:
在声明变量时,我们可以将变量声明为 never 类型:
let a: never;
never 类型是任何类型的子类型,也可以赋值给任何类型。
示例:
let a: never;
let b: number;
let c: string;
// never类型可以赋值给never类型
a = (()=>{
throw new Error(xkd);
})();
// never类型可以赋值给number类型
b = (()=>{
throw new Error(xkd);
})();
// never类型可以赋值给string类型
c = (()=>{
throw new Error(xkd);
})();
但是没有类型是 never 的子类型或可以赋值给 never 类型,即使 any 也不可以赋值给 never。
示例:
例如将数字类型的值赋值给 never 类型:
let a: never;
a = 100;
// 输出: Type 100 is not assignable to type never
链接:https://www.9xkd.com/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。