ArkTS-基础数据类型
基础数据类型:Number类型、String类型、undefined|void未定义类型和空类型
Number 类型
ArkTS提供number和Number类型,任何整数和浮点数都可以被赋给此类型的变量。
数字字面量包括整数字面量和十进制浮点数字面量。
整数字面量包括以下类别:
- 由数字序列组成的十进制整数。例如:0、117、-345
- 以0x(或0X)开头的十六进制整数,可以包含数字(0-9)和字母a-f或A-F。例如:0x1123、0x00111、-0xF1A7
- 以0o(或0O)开头的八进制整数,只能包含数字(0-7)。例如:0o777
- 以0b(或0B)开头的二进制整数,只能包含数字0和1。例如:0b11、0b0011、-0b11
浮点字面量包括以下:
- 十进制整数,可为有符号数(即,前缀为“+”或“-”);
- 小数点(“.”)
- 小数部分(由十进制数字字符串表示)
- 以“e”或“E”开头的指数部分,后跟有符号(即,前缀为“+”或“-”)或无符号整数。 示例:
let n1 = 3.14;
let n2 = 3.141592;
let n3 = .5;
let n4 = 1e2;
function factorial(n: number): number {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
factorial(n1) // 7.660344000000002
factorial(n2) // 7.680640444893748
factorial(n3) // 1
factorial(n4) // 9.33262154439441e+157
Boolean 类型
boolean类型由true和false两个逻辑值组成。
通常在条件语句中使用boolean类型的变量:
let isDone: boolean = false;
// ...
if (isDone) {
console.log ('Done!');
}
String 类型
string代表字符序列;可以使用转义字符来表示字符。
字符串字面量由单引号(')或双引号(")之间括起来的零个或多个字符组成。字符串字面量还有一特殊形式,是用反向单引号(`)括起来的模板字面量。
let s1 = 'Hello, world!\n';
let s2 = 'this is a string';
let a = 'Success';
let s3 = `The result is ${a}`;
Void 类型
void类型用于指定函数没有返回值。
此类型只有一个值,同样是void。由于void是引用类型,因此它可以用于泛型类型参数。
class Class<T> {
//...
}
let instance: Class <void>
undefined 类型
在 ArkTS 中,undefined表示未定义的值
- 当一个变量被声明但未被初始化时,它的值为 undefined。
- 与其他编程语言中的 undefined 类似,它表示缺少值或者值不存在的状态。 案例:
变量声明未初始化
let uninitializedVar;
console.log(uninitializedVar); // 输出 undefined
在这个例子中,uninitializedVar 被声明但没有被赋予任何初始值,所以它的值为 undefined。
函数返回值
function testFunc(): number | undefined {
// 某些情况下不返回值
return undefined;
}
let result = testFunc();
console.log(result); // 输出 undefined
这个函数可能在某些情况下不返回任何值,此时它返回 undefined。
对象属性
const obj = { name: 'Alice' };
console.log(obj.age); // 输出 undefined,因为对象 obj 中没有 age 属性
当尝试访问一个对象中不存在的属性时,会得到 undefined。