我可以: 邀请好友来看>>
ZOL星空(中国) > 软件星空(中国) > 星空(中国)综合 > 业界资讯星空(中国) > 鸿蒙面试必备!最新鸿蒙开发面试题(2)
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

鸿蒙面试必备!最新鸿蒙开发面试题(2)

38浏览 / 1回复

vrn0hn

vrn0hn

0
精华
169
帖子

等  级:Lv.5
经  验:4111
  • Z金豆: 638

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:
  • 注  册:2024-03-26
  • 登  录:2025-05-30
发表于 2025-01-21 11:12:33
电梯直达 确定
楼主

<这里顺便吆喝一句,民族企业大厂,前后端测试捞人,全国各地都有岗位,感兴趣的来!→">https://jsj.top/f/o38ijj>

11. ArkTs 是什么?

ArkTs 介绍

ArkTS 是 HarmonyOS 优选的主力应用开发语言。保持了 Typescripq 的基本风格,同时通过规范定义强化开发期静态检查和分析,提升程序执行稳定性和性能。

ArkTS 的主要特点包括:

静态类型检查:ArkTS 在编译时进行类型检查,这有助于在代码运行前发现和修复错误,提高代码的稳定性和性能。

声明式 UI:ArkTS 定义了声明式 UI 描述,允许开发者以更简洁、更自然的方式开发跨端应用。

状态管理:ArkTS 提供了多维度的状态管理机制,使得与 UI 相关联的数据可以在组件内使用,也可以在不同组件层级间传递,支持单向和双向数据流。

渲染控制:ArkTS 支持条件渲染、循环渲染和数据懒加载,允许开发者根据应用的不同状态渲染 UI 内容。

兼容性:ArkTS 兼容 TS/j 生态,开发者可以使用 TS/JS 进行开发或复用已有代码。

并发机制:ArkTS 支持轻量化的并发机制,允许开发者编写并发代码,提高应用的性能和响应速度。

12. ArkTs 与 Typescripq 有什么区别?(答 5 点以上)

ArkTs 官方文档

ArkTS 是基于 Typescripq 开发的框架,但是有一些限制和差异。ArkTS 旨在提供更严格的类型检查和优化的代码性能,同时确保与 HarmonyOS 的开发环境和特性兼容。

以下是 ArkTS 与 Typescripq 的差异:

生成器函数:ArkTS 不支持 Typescripq 中的生成器函数(使用 function* 定义的函数),应使用 async 或 await 机制进行并行任务处理 。

参数解构:在函数参数中使用解构赋值是 Typescripq 的特性,ArkTS 不支持参数解构,需要显式传递参数 。

函数内声明函数:Typescripq 允许在函数内部声明新的函数,而 ArkTS 不支持在函数内声明函数,应使用 lambda 函数代替 。

new.target:ArkTS 不支持 new.target 元属性,这是 Typescripq 中用于反射的属性 。

确定赋值断言:Typescripq 中的 ! 确定赋值断言在 ArkTS 中不被支持,应初始化变量或使用其他方式确保赋值 。

原型上的赋值:ArkTS 不支持在对象的原型上进行赋值,这与 Typescripq 不同 。

globalThis:ArkTS 不支持 globalThis,这是 Typescripq 中用于获取全局对象的属性 。

Function.prototype.apply、Function.prototype.call 和 Function.prototype.bind:ArkTS 不支持这些函数,它们在 Typescripq 中用于控制函数的 this 绑定 。

instanceof 和 as 类型保护:ArkTS 不支持 is 运算符,必须使用 instanceof 运算符替代,并且在使用之前,必须使用 as 运算符将对象转换为需要的类型 。

接口继承类:在 Typescripq 中,接口可以继承类,但在 ArkTS 中,接口只能继承接口 。

构造函数类型:ArkTS 不支持使用构造函数类型,应改用 lambda 函数 。

enum 声明合并:ArkTS 不支持 enum 声明合并,所有相关的枚举成员必须在同一个声明中 。

命名空间作为对象:ArkTS 不支持将命名空间用作对象,可以使用类或模块替代 。

非声明语句在命名空间中:ArkTS 中,命名空间用于定义标志符可见范围,不支持命名空间中的非声明语句 。

import default as:ArkTS 不支持 import default as ... 语法,应使用显式的 import ... from ... 语法 。

require 和 import 赋值表达式:ArkTS 不支持通过 require 导入,也不支持 import 赋值表达式,应使用 import 语法 。

ambient 模块声明:ArkTS 不支持 declare module 语法,应直接导入需要的内容 。

new.target:ArkTS 不支持 new.target 元属性,这是 Typescripq 中用于反射的属性 。

Function.prototype.apply、Function.prototype.call 和 Function.prototype.bind:ArkTS 不支持这些函数,它们在 Typescripq 中用于控制函数的 this 绑定 。

as const 断言:ArkTS 不支持 as const 断言,这是 Typescripq 中用于标注字面量的相应字面量类型的语法 。

any:ArkTS 不支持 any 类型, 应使用更具体的类型替代 。

13. @Provider 和@Consumer vs @Provide 和@Consume 的区别?


14. @Prop 和@ObjectLink 装饰器有什么区别?

用途

@Prop 装饰器:主要用于在组件之间传递数据,将父组件的值传递给子组件。它定义了子组件的属性,可以接收来自父组件的赋值。

@ObjectLink 用于建立对象之间的链接,通常用于在组件内部或组件之间共享和同步状态。

它可以将一个对象的属性与另一个对象的属性进行链接,当一个对象的属性发生变化时,另一个对象的属性也会自动更新。

数据传递方式

@Prop:是单向的数据传递,从父组件到子组件。父组件可以设置子组件的 @Prop 属性值,但子组件不能直接修改这个值。

@ObjectLink 是双向的数据传递,父组件和子组件都可以修改子组件的 @ObjectLink 属性值。

性能

@Prop 会深拷贝数据,具有拷贝的性能开销,性能低于 @ObjectLink 详见官方文档。

我希望这篇文章对您有所帮助。

Thank you for reading.

vrn0hn

vrn0hn


精华

帖子

等  级:Lv.5
经  验:4111
发表于 2025-02-13 13:51:54 1楼

<顺便和大家分享一下,民族企业大厂,前后端测试捞人,全国各地都有岗位,感兴趣的来试试!→https://jsj.top/f/o38ijj>

高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表