写点什么

ArkTS 编程语法基础,让你成为 HarmonyOS 开发高手

作者:肥晨
  • 2025-04-01
    江苏
  • 本文字数:1791 字

    阅读完需:约 6 分钟

ArkTS 简介

ArkTS 是 HarmonyOS 主力应用开发语言。它在 TypeScript (简称 TS)的基础上,匹配 ArkUI 框架,扩展了声明式 UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。



ArkTS 基于 TvpeScript 语言,拓展了声明式 UI、状态管理、并发任务等能力。

ArkUI 开发框架的整体架构

ArkTS 的基础类型

ArkTS 的基础类型和 ts 的大致基本相同


  1. 布尔值


TypeScript 中可以使用 boolean 来表示这个变量是布尔值,可以赋值为 true 或者 false。


let isDone: boolean = false;
复制代码


  1. 数字


TypeScript 里的所有数字都是浮点数,这些浮点数的类型是 number。除了支持十进制,还支持二进制八进制、十六进制。


let decLiteral: number = 2023;console.log(decLiteral is' + decLiteral);
let binaryLiteral: number = 0b11111100111;console.log(binaryLiteral is' + binaryLiteral);
let octalLiteral: number = 0o3747;console.log('octalLiteral is ' + octalLiteral);
let hexLiteral: number = 0x7e7;console.log('hexLiteral is' + hexLiteral);
复制代码


  1. 字符串


TypeScript 里使用 string 表示文本数据类型,可以使用双引号 (“) 或单引号 () 表示字符串


let name: string = "Jacky";name ="Tom";name = 'Mick
复制代码


  1. 数组 TypeScript 支持以下两种方式声明数组: 第一种,可以在元素类型后面接上],表示由此类型元素组成的一个数组:第二种方式是使用数组泛型,Array<元素类型>。


let list1: number[] = [1, 2, 3];let list2: Array<number> = [1, 2, 3];
复制代码


5、元组


元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。


let x: [string, number]x = ['hello', 10]; // OKx =[10, hello']; // Error
复制代码


  1. 枚举


enum 类型是对 JavaScript 标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字


enum Color {Red, Green, Blue];let c: Color = Color.Green;
复制代码


  1. unknown


有时候,我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型。那么我们可以使用 unknown 类型来标记这些变量。


let notSure: unknown = 4;notSure = 'maybe a string instead';notSure = false;
复制代码


  1. void


当一个函数没有返回值时,你通常会见到其返回值类型是 void。


function test(): void {  console.log('This is function is void');}
复制代码


  1. null 和 undefined


TypeScript 里,undefined 和 null 两者各自有自己的类型分别叫做 undefined 和 null。


let u: undefined = undefined;let n: null = null;
复制代码


  1. 联合类型


联合类型 (Union Types) 表示取值可以为多种类型中的一种。


let myFavoriteNumber: string|number;myFavoriteNumber = 'seven';myFavoriteNumber = 7;
复制代码

条件语句

条件语句用于基于不同的条件来执行不同的动作。TypeScript 条件语句是通过一条或多条语句的执行结果(true 或 false) 来决定执行的代码块.例如:if /if...else /seitch...case

函数类模块

函数定义

函数是一组一起执行一个任务的语句,函数声明要告诉编译器函数的名称、返回类型和参数。TypeScrip 可以创建有名字的函数和匿名函数,其创建方法如下:


//有名函数: 给变量设置为number类型function add(x: number, y: number): number {  return x + y;}//匿名函数: 给变量设置为number类型let myAdd = function (x: number, y: number): number {  return x + y;}
复制代码

函数的参数

  1. 可选参数


在 TypeScript 里我们可以在参数名旁使用(?)实现可选参数的功能。比如,我们想让 y 是可选的:


function add(x: string, y?: string): number {  return x + y;}
let result1=add("a")let result1=add("a","b")
复制代码


  1. 剩余参数


剩余参数会被当做个数不限的可选参数。 可以一个都没有,同样也可以有任意个。 可以使用省略号(...) 进行定义:


function add(x: string, ...y: string[]) {  return x + y.join();}
let result1=add("a")let result1=add("a","b","c","d")
复制代码

箭头函数

和 js 箭头函数相同


let myAdd =  ([parame1, parame2]) { //代码块}
复制代码

迭代器


当一个对象实现了 Symbol.iterator 属性时,我们认为它是可迭代的。一些内置的类型如 Array,Map,Set,String,Int32Array,Uint32Array 等都具有可迭代性。

后续学习资源介绍

更多内容大家可以参考 TypeScript 的官方教程(https://www.typescriptlang.org/docs/)。在线 Playground 平台(https://www.typescriptlang.org/play)。


您好,我是肥晨。欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。

发布于: 刚刚阅读数: 6
用户头像

肥晨

关注

还未添加个人签名 2021-04-15 加入

平台:InfoQ、阿里云、腾讯云、CSDN、掘金、博客园等平台创作者 领域:前端 公众号:农民工前端

评论

发布
暂无评论
ArkTS编程语法基础,让你成为HarmonyOS开发高手_肥晨_InfoQ写作社区