HarmonyOS 鸿蒙Next ArkTS语法问题求教

发布于 1周前 作者 songsunli 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ArkTS语法问题求教

声明一个函数不是要加fun关键字吗,为什么图一这里和其他好多实例代码什么函数都没加fun,我自己声明了一个fun的函数就报错了;

还有就是什么变量,文档说要加let,而图二中却没加,我声明了一个加了let的就报错;

cke_5627.png

cke_6065.png

11 回复

成员变量无需用let声明,成员函数也无需用function声明哦

let 只能在方法/函数体内使用,用来声明局部变量。

建议统一创建arkts文件,后缀是.ets格式

在ArkTS语言中,使用function定义的函数属于全局函数,只能被window调用,不能在class类里面使用function定义函数,也不能在[@Component](/user/Component)修饰的struct组件里面使用function定义函数。

当然这不是说class类里面,或者[@Component](/user/Component)修饰的struct组件里面不能定义函数,而是这两种情况下一般是定义方法,或使用箭头函数。

另外你看的图一代码,它是一个.d.ts文件,这种文件属于类型声明文件,没有执行代码的,不是ArkTS语言中的文件,是属于TypeScript语言写的,使用ArkTS语言写的代码文件后缀名是.ets。

那是不是在开发鸿蒙app的时候,几乎用不到function?

期待HarmonyOS能在未来带来更多创新的技术和理念。

不管是开发鸿蒙,安卓,苹果,每个app的全局变量跟局部变量相比较,全局都是非常少的,局部变量占大多数。 使用全局变量的意义在于,减少代码,避免重复变量用错,便于使用,不在于多或者少。

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

您好 let是声明局部变量的,您写的地方是全局变量的位置所以let报错,应该用public/private/protected声明全局变量,fuc是js声明方法的语法 ,可以先查阅一下TypeScript的文档,ArkTS是TypeScript的超集

打错了,是function,在class和struct使用function都会报错,那他的使用场景是什么~

function一般使用在全局方法上是可以的,比如全局@Style,@Extend这两个修饰符修饰的方法就需要使用function @Extend(Text) function txtColor(selected: boolean) { .fontSize(UiConst.FONT_16) .fontColor(selected ? “#969799” : “#000”) .fontWeight(selected ? FontWeight.Normal : FontWeight.Bold) }

针对您提出的HarmonyOS 鸿蒙Next ArkTS语法问题,以下是一些专业解答:

ArkTS是HarmonyOS NEXT的优选主力应用开发语言,它基于TypeScript并进行了扩展和优化。在ArkTS中:

  • 使用let声明变量,const声明常量。
  • 通过@Entry装饰的自定义组件可作为UI页面的入口,但一个页面只能有一个@Entry装饰的组件。
  • 允许在容器组件内使用if/else条件渲染语句来构建不同的子组件。
  • 类型注解是强制的,例如let x: number = 10;,这有助于在编译时捕获类型错误。
  • 与TypeScript不同,ArkTS不允许将null赋值给非空类型,所有字段都必须在声明时或构造函数中显式初始化。
  • ArkTS支持装饰器、异步编程、类型别名、类型保护、枚举和映射类型等TypeScript的高级特性。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部