基础数据类型

在鸿蒙编程当中的基础数据被分为三种:string、number、boolean。它们分别存储字符串类型、数字类型和布尔类型的数据。

字符串类型(string)

字符串类型用于存储文本数据,由单引号(')或双引号(")包裹。支持转义字符(如\n换行)和模板字符串(通过反引号`实现多行或变量嵌入)。
示例:

//注:鸿蒙当中使用 let 来声明一个变量
//声明格式为 let 变量名: 类型 = 值;(其中: 类型 和 ;可省略) 
let name: string = "HarmonyOS";  
let message = `Hello, ${name}!`; // 模板字符串  

数字类型(number)

数字类型包含整数、浮点数。
示例:

let count = 42;  
let pi = 3.14;  

布尔类型(boolean)

布尔类型表示逻辑值仅有truefalse两个值,常用于逻辑判断。
示例:

let isActive = true;   

变量和常量

上面我们进行定义的数据都是使用 let 进行声明的,可以进行修改的,就是变量。在编程当中可定义的数据还有常量,常量通常定义为固定的、不被改变的数据。

ArkTs的命名规则

在鸿蒙编程中不管是变量名、常量名还是其他的自定义标识符如函数名、类名等都必须遵守以下规则:

  • 标识符由大写字母、小写字母、数字、下划线和$符号组成。
  • 标识符的首字符必须是大写字母、小写字母、数字、下划线和$符号。
  • 自定义标识符不能是保留字(保留字是语言本身已经定义的具有固定定义的系统标识符)。、
  • 标识符区分大小写,如name和Name是不同的标识符。

常量

常量是程序运行期间值不变的量。声明常量使用 const 关键字,基本格式如下:

const 常量名 = 值;
const PI = 3.14;

注:声明常量必须要初始化赋值,否则报错。

运算符

运算符包括:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、三元条件运算符、类型运算符、其它运算符。 

算术运算符

  • 加(+)、减(-)、乘(*)、除(/)、求余(%)、自增(++)、自减(--)。

关系运算符

关系运算符用于比较两个值,并返回布尔值(truefalse)。

  • 等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。
  • 另外还拥有强等于(===)会判断值和类型是否同时相同,强不等于(!==)会要求值和类型都不相同。

代码演示:

//强等于(===):检查值和类型是否完全相同。
5 === '5'  // false(数值与字符串类型不同)

//强不等于(!==):检查值或类型是否不同。
5 !== '5'  // true

逻辑运算符

  • 逻辑与(&&)、逻辑或(||)、逻辑非(!)。

代码演示:

//逻辑与(&&)
true && false;  // 返回 false
5 > 3 && 2 < 4; // 返回 true(两个条件均满足)
//逻辑或(||)
True or False   # 返回 True
3 == 4 or 5 > 2 # 返回 True(第二个条件满足)
//逻辑非(!)
!(10 > 5); // 返回 false(原条件为真,取反后为假)
bool flag = false;
!flag;     // 返回 true
 

位运算符

位运算符直接操作二进制数的每一位,适用于整数类型。包含位与(&)位或(|)取反(~)异或(^)、左移(<<)右移(>>)无符号右移(>>>)

  • 位与(&):对应位均为1时结果为1,否则为0。常用于掩码操作:
const a = 5;    // 0101
const b = 3;    // 0011
console.log(a & b); // 0001 → 1

  • 位或(|):对应位至少有一个1时结果为1。常用于组合标志位:
const flagsRead = 1;   // 0001
const flagsWrite = 2;  // 0010
console.log(flagsRead | flagsWrite); // 0011 → 3
  • 取反(~):按位取反(包括符号位)。等效于 -x - 1
const x = 4;    // 0100
console.log(~x); // 1011 → -5 (补码表示)
  • 异或(^):对应位不同时结果为1。可用于交换变量值:
let m = 7;  // 0111
let n = 2;  // 0010
m ^= n; n ^= m; m ^= n;
console.log(m, n); // 2, 7
  • 左移(<<):高位丢弃,低位补0。每左移1位相当于乘以2:
const num = 3;  // 0011
console.log(num << 2); // 1100 → 12
  • 右移(>>):保留符号位,低位丢弃。每右移1位相当于除以2(向下取整):
console.log(-9 >> 1);  // -5 (符号位扩展)
  • 无符号右移(>>>):高位补0,不考虑符号位。常用于处理无符号数:
console.log(-9 >>> 1); // 2147483643 (高位补0)

赋值运算符

赋值运算符用于将右侧的值赋给左侧的变量。复合赋值运算符结合了算术运算和赋值,简化代码。

  • 赋值(=)、复合加赋值(+=)、复合减赋值(-=)、复合乘赋值(*=)、复合除赋值(/=)。

代码演示:

//复合加赋值(+=)
let a = 5;
a += 3; // 等价于 a = a + 3
console.log(a); // 输出 8
//复合减赋值(-=)
let b = 10;
b -= 4; // 等价于 b = b - 4
console.log(b); // 输出 6
// 复合乘除赋值同理

三元运算符

  • 只有问号冒号运算符(? :)。

代码演示:

const age = 20;
const canVote = age >= 18 ? "Yes" : "No";
console.log(canVote); // 输出: "Yes"

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐