【鸿蒙】ArkTS语言

news2024/11/16 10:29:13

HarmonyOS 应⽤的主要开发语⾔是 ArkTS,它由 TypeScript(简称TS)扩展⽽来,在继承 TypeScript语法的基础上进⾏了⼀系列优化,使开发者能够以更简洁、更⾃然的⽅式开发应⽤。 值得注意的是,TypeScript 本身也是由另⼀⻔语⾔ JavaScript 扩展⽽来。

ArkTS 官网

主要特性

  1. 类型系统:ArkTS 拥有一个静态类型系统,这有助于在编译时捕获错误,提高代码的健壮性和可维护性。

  2. 面向对象:ArkTS 支持类和继承,允许开发者使用面向对象的方法来组织和管理代码。

  3. 模块化:ArkTS 支持模块化编程,这有助于组织大型项目,并促进代码的重用。

  4. 异步编程:ArkTS 提供了异步编程的支持,包括 async/await 语法,使得处理异步操作更加简单和直观。

  5. 类型推断:ArkTS 具有强大的类型推断能力,允许开发者编写更简洁的代码,同时保持类型安全。

  6. 工具链支持:ArkTS 通常与现代开发工具和框架兼容,如 VSCode、WebStorm 等,提供良好的开发体验。

ArkTS扩展能力

  • 基本语法:ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力,再配合ArkUI开发框架中的系统组件及其相关的事件方法、属性方法等共同构成了UI开发的主体。
  • 状态管理:ArkTS提供了多维度的状态管理机制。在UI开发框架中,与UI相关联的数据可以在组件内使用,也可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨设备传递。另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活地利用这些能力来实现数据和UI的联动。
  • 渲染控制:ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的UI内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。数据懒加载从数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。

ArkTS语言 关键字

  1. 基本类型声明: intfloatbooleanstring 等。

  2. 控制流ifelsewhileforswitchcase 等。

  3. 函数和方法: functiondefreturn 等。

  4. 类和对象: classnewextendsimplements 等。

  5. 异常处理trycatchfinallythrow 等。

  6. 模块和包importexportpackage 等。

  7. 异步编程asyncawait 等。

  8. 类型系统typeinterfacevarletconst 等。

  9. 特殊操作符: isasinof 等。




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1857769.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

练习实践:ubuntu18.04安装、配置Nginx+PHP环境,两种配置方式,多站点

参考来源: https://help.aliyun.com/document_detail/464753.html https://www.cnblogs.com/laosan007/p/12803287.html https://blog.csdn.net/qq_55364077/article/details/132207083 【安装同版本7.2的php】 需要知道对应php和nginx的安装版本 需要安装php-fpm…

持续增强国产适配 | 宁盾身份域管与南大通用、飞腾完成产品兼容性认证

随着党政、央国企、金融信创国产化改造日益深入,企业对国产 IT 基础设施生态兼容适配的需求日益迫切。为践行给企业提供“开箱即用”的交付体验承诺,宁盾身份域管持续增强多元异构产品的兼容适配。近日,宁盾身份域管与天津南大通用数据技术股…

基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟感兴趣的可以先收藏起来,还…

我的大学生活-人面桃花相映红(大二篇)

我的大学生活(大二篇) 前言推荐大二(人面桃花相映红)2021年9月2021年10月2021年11月2021年12月2022年1月 寒假2022年2月学习Java框架 大二(人面桃花相映红)2022年3月2022年4月2022年5月2022年6月 暑假2022年…

【启明智显分享】HMI方案核心板选型攻略

随着全球智能制造的浪潮汹涌而来,人机界面(HMI)作为连接人与机器的关键桥梁,在自动化领域中正扮演着日益重要的角色。HMI不仅为操作者提供了直观、便捷的交互方式,还通过集成多种功能,实现了机器运行的高效…

Pycharm主题切换(禁用)导致UI界面显示异常解决

安装其他主题 Material Theme UI One Dark theme One Dark theme安装 (Material Theme UI主题同理) Pycharm 打开 Settings > Plugins,搜索One Dark theme 安装即可 One Dark theme 效果显示 问题记录 UI显示异常 安装多个主题时,当禁用某些主题&…

Linux--V4L2应用程序开发(一)数据采集及问题

一、V4L2介绍 Video for Linux two(Video4Linux2)简称V4L2,是V4L的改进版。(Video4Linux2)是 Linux 内核中用于捕获视频数据的框架和 API。 它提供了一套标准化的接口,方便开发者与各种视频硬件设备进行交互,并支持丰…

C语言入门课程学习笔记10:结构体联合体位域

C语言入门课程学习笔记10 第48课 - 自定义数据类型(上)实验-typedef实验小结 第49课 - 自定义数据类型(中)实验实验小结 第50课 - 自定义数据类型(下)实验实验小结 第51课 - 多文件程序设计实验实验实验小结…

.net core接入nacos注册服务并使用配置中心

1、安装依赖 Nuget包:nacos-sdk-csharp.Extensions.Configuration和nacos-sdk-csharp.AspNetCore 2、在appsettings.json中配置 "nacos": {"ServerAddresses": ["http://localhost:8848/"],"DefaultTimeOut": 15000,"…

算法课程笔记——点积叉积

算法课程笔记——点积叉积

css实现鼠标悬停在div上出现抬起元素的效果

如图所示,左侧为正常样式,右侧为添加效果后的样式 只需要给div添加以下class样式,主要实现效果在&:hover里面 .component-item {display: flex;align-items: center;width: 50px;height: 50px;border: 1px solid #f0f0f0;border-radius…

昇思25天学习打卡营第1天|认识MindSpore

MindSpore 基本介绍 昇思MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景统一部署三大目标。 易开发:API友好、调试难度低高效执行:包括计算效率、数据预处理效率和分布式训练效率全场景:框架同时支持云、…

海外注册 | 一分钟看懂英国医疗器械注册

英国医疗器械市场因其独特的地域划分而与其他国家有所不同。分为大不列颠市场(包括:英格兰、苏格兰和威尔士)和北爱尔兰市场,它们在法规要求上存在细微差别。 以下是针对这两个市场的基本要求概览: 监管机构&#xf…

超越招聘技术人才目标的最佳技术招聘统计数据

研究发现,难以找到的人才比以往任何时候都更难找到:根据新人才委员会招聘调查报告:2024年难以找到的人才的战略和战略,60%的受访者表示,熟练人才的招聘时间比一年前长。调查进一步揭示了以下关于招聘技术的关键事实&am…

行业原型:智能资产管理平台-个人资产服务

​行业原型预览链接:(请与班主任联系获取原型文档) 文件类型:.rp 支持版本:Axrure RP 8 文档名称:金融:智能资产管理平台(个人资产服务) 文件大小:1.75 MB 智…

Origin较好用的科研绘图软件

推荐自己也在用的科研绘图软件Origin图所示: 图1 图2 图3

【Sa-Token|4】Sa-Token微服务项目应用

若微服务数量多,如果每个服务都改动,工作量大,则可以只在网关和用户中心进行改动,也是可以实现服务之间的跳转。 这种方式可以通过在网关服务中生成和验证 Sa-Token,并将其与现有的 Token关联存储在 Redis 中。用户中心…

Springboot整合Mongodb(含使用案例)

基础语法 插入 插入单条 // 插入一条数据到 "Books" 集合 db.Books.insertOne({title: "如何使用MongoDB",author: "IT小辉同学",year: 2023 })插入多条数据 // 插入十条数据到 "Books" 集合 db.Books.insertMany([{ title: "…

面试必备:10种分布式ID的生成方案

前言 日常工作中,我们开发的系统、或者中间件,都是分布式部署的。比如你的订单数据库,做了分库分表,这时候,你需要一个唯一的ID来标记一条数据。这时候,就需要分布式ID。分布式ID是在分布式系统下使用的ID…

冻干食品市场飙升至新高度,预计到 2030 年将达到 717 亿美元

冻干食品市场,近年来经历了显著增长,2021 年价值 372 亿美元,预计到 2030 年将达到 717 亿美元。 从2022年到2030年,这一强劲的扩张是由7.7%的复合年增长率推动的,这是由于多种因素造成的,包括食品加工行…