☰
【ArkTS-基本语法】
2026/10/28 1:17:22 网站建设 项目流程

ArkTS-基本语法

  • ■ ArkTS 简介
  • ■ 数据类型
    • ■ 1. let
    • ■ 2. boolean
    • ■ 3. 数字 number
    • ■ 4. 字符串 string
    • ■ 5. 数组
    • ■ 6. 元组
    • ■ 7. 枚举
    • ■ 8. Unknown
    • ■ 9. void
    • ■ 10. null, undefind
    • ■ 11. Object类型
    • ■ 12. array类型
    • ■ 13. Union 联合
    • ■ 14. enum 类型
    • ■ 15. Aliases 别名类型
    • ■ 16. 返回类型
  • ■ 条件判断
    • ■ 1. if else
    • ■ 2. switch
  • ■ 空安全 null
  • ■ 运算符
    • ■ 1. 非空断言运算符 !
    • ■ 2. 空值合并运算符 ??
  • ■ 可选链
  • ■ 循环
    • ■ 1. ForEach 无法使用 break 或 continue 控制循环
    • ■ 2. for...of 循环
    • ■ 3. for()
    • ■ 4. for... in
    • ■ 5. for... of
    • ■ 6. for... on
    • ■ 7. 遍历字符串
    • ■ 8. for遍历 Map类型
  • ■ Throw和Try语句
  • ■ 函数
    • ■ 1. 普通函数
    • ■ 2. 普通函数:带返回值
    • ■ 3. 箭头函数 (又名Lambda函数) 匿名函数 v*斜体样式*
    • ■ 4. 可选参数的函数
    • ■ 5. 函数-可选参数
    • ■ 6. 函数-参数默认值
    • ■ 7. 函数-Rest 剩余参数
    • ■ 8. 函数-函数重载
    • ■ 9. 函数-泛型函数
    • ■ 10. 函数-参数为函数
  • ■ 函数传递参数
    • ■ 1. 按值传递参数
    • ■ 2. 按引用传递参数
    • ■ 3. 按引用传递参数 @LocalBuilder
  • ■ 类 class
    • ■ 1. 定义类
    • ■ 2. 继承 extends
  • ■ 字段
    • ■ 1. 静态字段:
    • ■ 2. getter和setter
  • ■ interface 接口
    • ■ 1. 接口继承 extends
  • ■ 模块 (module)
    • ■ 1. import 导入
    • ■ 2. export 导出
    • ■ 3. import 静态导入
    • ■ 4. import() 动态导入
  • ■ 页面和自定义组件生命周期
    • ■ 1.
    • ■ 2.
  • ■ Polygon 绘制组件
    • ■ 1.
    • ■ 2.
  • ■ HSP (Harmony Shared Package)动态共享包
    • ■ 1.
    • ■ 2.
  • ■ HAR(Harmony Archive)静态共享包,
    • ■ 1.
    • ■ 2.
  • ■ 颜色表示
  • ■ 占比 (vp,px,%)

■ ArkTS 简介

ArkTS << TypeScript << JavaScript

■ 数据类型

■ 1. let

以关键字let开头的声明引入变量,该变量在程序执行期间可以具有不同的值

let hi:string='hello';hi='hello, world';

常量声明

consthello:string='hello';//以关键字const开头的声明引入只读常量,该常量只能被赋值一次。

自动类型推断

自动类型推断

let hi1:string='hello';//显式指定其类型let hi2='hello, world';//自动推断类型

■ 2. boolean

■ 3. 数字 number

ArkTS提供number类型,任何整数和浮点数都可以被赋给此类型的变量。

整数字面量
十进制整数 例如:0、117、-345
十六进制整数 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;functionfactorial(n:number):number{if(n<=1){return1;}returnn*factorial(n-1);}factorial(n1)// 7.660344000000002factorial(n2)// 7.680640444893748factorial(n3)// 1factorial(n4)// 9.33262154439441e+157
umber类型在表示大整数时会造成精度丢失。在开发时可以按需使用bigInt类型来确保精度: let bigIntger:BigInt=BigInt('999999999999999999999999999999999999999999999999999999999999');console.log('bigIntger'+bigIntger.toString());

■ 4. 字符串 string

let s1='Hello, world!\n';//单引号(')let s2="this is a string";//双引号(")let a='Success';let s3=`The result is ${a}`;//是用反向单引号(`)括起来的模板字面量。

■ 5. 数组


■ 6. 元组


■ 7. 枚举

■ 8. Unknown


■ 9. void

■ 10. null, undefind

1.**undefined**:-表示一个变量已经声明但尚未被初始化赋值。-当一个函数没有返回值时,默认返回`undefined`。-访问对象不存在的属性也会得到`undefined`。-在 ArkTS 中,`undefined`是一个全局的常量。2.**null**:-表示一个变量被明确赋值为空值。它通常用于表示一个对象为空或没有对象引用。-开发者可以主动将变量赋值为`null`来表示该变量目前没有指向任何对象(虽然它是对象类型)。3.**相同点**:-在条件判断中,`null`和`undefined`都会被转换成`false`。-使用相等运算符(`==`)比较时,`null == undefined`为`true`;-使用严格相等运算符(`===`)比较时`null === undefined`为`false`,因为它们属于不同的类型。4.**不同点**:-类型不同:`undefined`是类型为`undefined`的值,而`null`是类型为`null`的值(在 TypeScript 中,它们都是各自的类型,ArkTS 基于 TypeScript)。-含义不同:`undefined`表示未定义,而`null`表示空对象引用。5.**使用建议**:-在变量可能不存在或未初始化时,使用`undefined`。-在变量需要被明确置空(如释放对象引用)时,使用`null`。6.**示例**:leta:string|undefined;// 声明但未初始化console.log(a);// 输出: undefinedletb:string|null=null;// 明确赋值为 nullconsole.log(b);// 输出: nullfunctionfoo(){// 没有返回值}console.log(foo());// 输出: undefinedletobj={name:"Alice"};console.log(obj.age);// 输出: undefined// 比较console.log(null==undefined);// trueconsole.log(null===undefined);// false

■ 11. Object类型

object类型则用于表示除基本类型外的类型。

■ 12. array类型

let names:string[]=['Alice','Bob','Carol'];

■ 13. Union 联合

union类型,即联合类型,是由多个类型组合成的引用类型。
联合类型包含了变量可能的所有类型。

class Cat{name:string='cat';// ...}class Dog{name:string='dog';// ...}class Frog{name:string='frog';// ...}type Animal=Cat|Dog|Frog|number;// Cat、Dog、Frog是一些类型(类或接口)let animal:Animal=newCat();animal=newFrog();animal=

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询