【ArkTS】基础语法
一、ArkTS 语言简介ArkTS 是一种设计用于构建高性能应用的编程语言。它在继承 TypeScript 语法的基础上进行了优化,以提供更高的性能和开发效率。许多编程语言在设计之初未考虑移动设备,导致应用运行缓慢、低效且功耗大。随着移动设备在日常生活中越来越普遍,针对移动环境的编程语言优化需求日益增加。ArkTS 专为解决这些问题而设计,聚焦提高运行效率。TypeScript 是在 JavaScript 基础上通过添加类型定义扩展而来的,ArkTS 则是 TypeScript 的进一步扩展。TypeScript 提供了一种更结构化的 JavaScript 编码方法,深受开发者喜爱。ArkTS 保持了 TypeScript 的大部分语法,旨在为现有的 TypeScript 开发者提供高度兼容的体验,帮助移动开发者快速上手。ArkTS 的一大特性是它专注于低运行时开销。ArkTS 对 TypeScript 的动态类型特性施加了更严格的限制,以减少运行时开销,提高执行效率。通过取消动态类型特性,ArkTS 代码能更有效地被运行前编译和优化,从而实现更快的应用启动和更低的功耗。ArkTS 语言设计中考虑了与 TypeScript 和 JavaScript 的互通性。许多移动应用开发者希望重用 TypeScript 和 JavaScript 代码及库,因此 ArkTS 提供与 TypeScript 和 JavaScript 的无缝互通,使开发者可以轻松集成 TypeScript 和 JavaScript 代码到应用中,充分利用现有代码和库进行 ArkTS 开发。二、基本语法1、变量和常量声明变量声明:使用关键字 let声明的变量可以在程序执行期间具有不同的值。常量声明:使用关键字 const声明的常量为只读类型,只能被赋值一次。对常量重新赋值会造成编译时错误。自动类型推断:如果变量或常量的声明包含初始值,开发者无需显式指定类型,因为ArkTS规范已列举了所有允许自动推断类型的场景。lethi:string='hello';consthello:string='hello';lethi2='hello, world';2、基本类型和引用类型基本数据类型包括 number、string 等简单类型,它们可以准确地表示单一的数据类型。对基本类型的存储和访问都是直接的,比较时直接比较其值。引用类型包括对象、数组和函数等复杂数据结构。这些类型通过引用访问数据,对象和数组可以包含多个值或键值对,函数则可以封装可执行的代码逻辑。引用类型在内存中通过指针访问数据,修改引用会影响原始数据。(1)number 类型ArkTS 提供 number 类型,任何整数和浮点数都可以被赋给此类型的变量。数字字面量包括整数字面量和十进制浮点数字面量。整数字面量包括以下类别:十进制整数,由数字序列组成。例如:0、117、-345。十六进制整数,以 0x(或 0X)开头,包含数字(0-9)和字母 a-f 或 A-F。例如:0x1123、0x00111、-0xF1A7。八进制整数,以 0o(或0O)开头,只能包含数字(0-7)。例如:0o777。二进制整数,以 0b(或0B)开头,只能包含数字 0 和 1。例如:0b11、0b0011、-0b11。浮点数字面量包括以下部分:十进制整数,可为有符号数(前缀为 “+” 或 “-”)。小数点(“.”)。小数部分(由十进制数字字符串表示)。指数部分,以 “e” 或 “E” 开头,后跟有符号(前缀为 “+” 或 “-” )或无符号整数。letn1=3.14;letn2=3.141592;letn3=0.5;letn4=1e2;functionfactorial(n:number):number{...}number 类型在表示大整数(即超过-9007199254740991 ~ 9007199254740991)时会造成精度丢失。在开发时可以按需使用 bigint 类型来确保精度:letbigInt:bigint=999999999999999999999999999999999999999999999999999999999999n;console.info('bigInt:'+bigInt.toString());(2)boolean 类型boolean 类型由 true 和 false 两个逻辑值组成。通常在条件语句中使用 boolean 类型的变量。letisDone:boolean=false;if(isDone){...}(3)string 类型string 类型代表字符序列,可以使用转义字符来表示字符。字符串字面量由单引号(')或双引号(")之间括起来的零个或多个字符组成。字符串字面量还有一特殊形式,是用反向单引号(`)括起来的模板字面量。lets1='Hello, world!\n';lets2='this is a string';leta='Success';lets3=`The result is${a}`;(4)void 类型void类型用于指定函数没有返回值。此类型只有一个值,同样是 void。由于 void 是引用类型,因此它可以用于泛型类型参数。classClassT{//...}letinstance:Classvoid;(5)Object 类型Object(首字母大写) 类型是所有引用类型的基类型。任何值,包括基本类型的值,都可以直接被赋给Object类型的变量(基本类型值会被自动装箱)。object(首字母小写)类型用于表示除基本类型外的类型。leto1:Object='Alice';leto2:Object=['a','b'];leto3:Object=1;leto4:object=[1,2,3];(6)array 类型array 类型,即数组,是由可赋值给数组声明中指定的元素类型的数据组成的对象。数组可由数组复合字面量赋值。数组复合字面量是用方括号括起来的零个或多个表达式列表,每个表达式为数组中的一个元素。数组的长度由数组中元素的个数确定。数组中第一个元素的索引为 0。letnames:string[]=['Alice','Bob','Carol'];(7)enum 类型enum 类型,即枚举类型,是预先定义的一组命名值的值类型,其中命名值又称为枚举
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2468035.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!