笔记: 鸿蒙 ArkTS 数据类型
·
// 基础类型
let isOk: boolean = false
/*
boolean:布尔类型,它只有两个值true和false,通常用于条件判断
*/
if(!isOk) { // !表示非(取反)
console.log('isOk 为真')
} else {
console.log('isOk 为假')
}
let num: number = 6; // 整数
let floatNum: number = 1.2; // 浮点数
let num1: number = 0b1010; // 十六进制
let num2: number = 0xf00d; // 二进制
let num3: number = 0o744; //八进制
//let bigInt: number = 100n; // BigInt(大整数),ES6引进的类型
let nan: number = NaN; // 非数字
/*
number: 用于表示整数、浮点等数值及非数字
*/
let str: string = 'Hello'; //单引号
let str1: string = "World"; //双引号
let sayHelloWorld: string = `${str} ${str1} !`; //字符模板(ES6)
console.log(sayHelloWorld);
/*
string: 用于表示文本数据(单双引号包裹的内容)
*/
let colors: string[] = ['1','2','3','4','5'];
let numbers: Array<number> = [1, 2, 3, 4, 5];
/*
Array: 数组,是一种用于存储一系列元素的数据结构,可以通过两种方式声明
1、用过元素类型+[]
2、使用泛型数据结构 Array<元素类型>
*/
let x: [string, number]
x = ['hello', 1] // 正确写法
//x = [1, 'hello'];// 错误写法
/*
Tuple(元组): 允许表示一个已知元素数量和类型的数组,且给元素类型不必相同
*/
//let aa: (string | number)[] = [1, 'Heloo']
enum Color {Red, Blue, Green}
let c: Color //默认为 Color.Red
let c1: Color = Color.Green
/*
Enum(枚举):用于定义一组命名的常量数字,默认情况下为0下表的常量
*/
let notSure: any = 4
notSure = 'Hello Any !'
/*
Any(任意): 允许对变量的类型进行检查,编译出最终类型(ArkTS 中API9以上不支持该类型)
*/
function UserInfo(): void {
console.log('这是一个无返回值的函数')
}
function SetNum(): number {
return 0
}
/*
Void:用于表示一个无返回值的函数,实际上void类型的变量只能是undefined 或 null
*/
let u: undefined = undefined //未定义(不是空)
let nn: null = null //空
/*
unll: 空,一般用于清空对象或函数
undefined: 表示没有定义具体的值
*/
function error(message: string): never {
throw new Error(message)
}
/*
Never(永不):表示哪些永远不存在的值的类型
*/
// 1、使用字面量语法构建对象
let person1: {name: string, age: number} = {
name: 'Tom',
age: 18
}
// 2、type构建类型为Person1的对象,sex使用?来标记对象属性为可选
type Person1 = {
name: string;
age: number;
sex?: string //表示为可选
}
let user: Person1 = {
name: 'Tom',
age: 18
}
let arr: (string | number | boolean | null)[] = ['a', 'aa', 1, 11, false, true, null]
/*
联合类型:由多个不同类型组成,表示可以是其中任意类型
ArkTS中的写法:
let arr: string[] | number[] | boolean[] = []
let arr: Array(string | number | boolean) = []
*/
interface UserPerson {
name: string
age: number
getInfo(): void
}
let bigBear: UserPerson = {
name: 'BigBear',
age: 18,
getInfo: () => {
console.log(`${bigBear.name}今年${bigBear.age}岁。`)
}
}
interface UserSex extends UserPerson {
sex?: string
}
let aaa: UserSex = {
name: 'AA',
age: 10,
sex: '男',
getInfo: () => {}
}
/*
interface: 接口约定,用于定义对象属性的类型
*/
function dataFun<T>(data: T): T {
return data
}
/*
<T>: 泛型,无法表示具体以类型,只有被调用时才能确定
*/
更多推荐



所有评论(0)