HarmonyOS Next原生应用开发-从TS到ArkTS的适配规则(十五)
一、不支持for … in
规则:arkts-no-for-in
级别:错误
由于在ArkTS中,对象布局在编译时是确定的、并且不能在运行时被改变,所以不支持使用for … in迭代一个对象的属性。对于数组来说,可以使用常规的for循环。
TypeScript
let a: string[] = ['1.0', '2.0', '3.0'];
for (let i in a) {console.log(a[i]);
}
ArkTS
let a: string[] = ['1.0', '2.0', '3.0'];
for (let i = 0; i < a.length; ++i) {console.log(a[i]);
}
二、不支持映射类型
规则:arkts-no-mapped-types
级别:错误
ArkTS不支持映射类型,使用其他语法来表示相同的语义。
TypeScript
type OptionsFlags<Type> = {[Property in keyof Type]: boolean
}
ArkTS
class C {n: number = 0s: string = ''
}class CFlags {n: boolean = falses: boolean = false
}
三、不支持with语句
规则:arkts-no-with
级别:错误
ArkTS不支持with语句,使用其他语法来表示相同的语义。
TypeScript
with (Math) { // 编译时错误, 但是仍能生成JavaScript代码let r: number = 42;let area: number = PI * r * r;
}
ArkTS
let r: number = 42;
let area: number = Math.PI * r * r;
四、限制throw语句中表达式的类型
规则:arkts-limited-throw
级别:错误
ArkTS只支持抛出Error类或其派生类的实例。禁止抛出其他类型(例如number或string)的数据。
TypeScript
throw 4;
throw '';
throw new Error();
ArkTS
throw new Error();
本文根据HarmonyOS NEXT Developer Beta1官方公开的开发文档整理而成
相关文章:
HarmonyOS Next原生应用开发-从TS到ArkTS的适配规则(十五)
一、不支持for … in 规则:arkts-no-for-in 级别:错误 由于在ArkTS中,对象布局在编译时是确定的、并且不能在运行时被改变,所以不支持使用for … in迭代一个对象的属性。对于数组来说,可以使用常规的for循环。TypeScri…...
两个系统之间跳转免密登录
1、 两个系统之间跳转免密登录_从一个系统跳转到另一个系统,不用再重新登录-CSDN博客 2、 页面跳转统一登录实现_前端从一个系统跳转到其他系统-CSDN博客...
SQL基础——MySQL的触发器、存储引擎、事务
简介:个人学习分享,如有错误,欢迎批评指正。 一、MySQL的触发器 1.概述 介绍 触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段,但是触发器无需调用&…...
目标检测算法:对比YOLOv3、YOLOv5、YOLOv8
目标检测 YOLOv3 数据处理 可输入任意大小的图片(特征图大小最好是32倍数)Anchor:K-Means聚类IOUNMS 模型结构 Backbone Darknet53 无最大池化,步长2卷积层进行下采样每个Conv后 BN LeakyReLU引入残差结构中间层和某一层上…...
C# 属性(Property)
C# 属性(Property) C# 中的属性(Property)是一种用于访问和设置类或结构体成员的值的特殊成员。属性提供了一种封装字段的方式,使得字段的访问更加安全和灵活。本文将详细介绍 C# 属性的概念、用途、语法以及如何使用…...
3. 数据结构——栈的操作实现
1. 顺序栈 主要操作:初始化、栈判空、入栈、出栈、去栈顶元素 1.1 直接数组存储栈 //顺序栈的实现 #include<stdio.h> #define MaxSize 50 typedef int ElemType; typedef struct{ElemType data[MaxSize];int top; //指向栈顶指针,最开始-1 …...
EmguCV学习笔记 VB.Net 4.5 像素距离和连通区域
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 教程VB.net版本请访问:EmguCV学习笔记 VB.Net 目录-CSDN博客 教程C#版本请访问:EmguCV学习笔记 C# 目录-CSD…...
使用spring boot开发与直接开发一个web项目的区别
1. 项目结构的区别 springboot开发没有web.xml,配置更加简洁。 2. 启动 传统的web项目将项目打成war包,然后将war包复制到tomcat的webapp目录下,最后通过启动tomcat部署运行项目。 而springboot将项目打成jar包,jar包中包含内置的…...
Leetcode JAVA刷刷站(48)旋转图像
一、题目概述 二、思路方向 要在原地顺时针旋转一个 n x n 的二维矩阵 90 度,你可以通过一系列交换操作来实现。这里的关键在于理解旋转后的矩阵与原矩阵之间的元素对应关系。 假设原矩阵为 matrix,其中 matrix[i][j] 表示第 i 行第 j 列的元素。旋转 90…...
编译型语言和解释型语言
年代区分 从硬件技术和软件需求,计算机发展初期,没有可能发展真正的解释型语言,运行速度和内存都受限,只有给机器喂二进制代码才能勉强跑起来。但事实上,解释型语言却在计算机发展很早的时期曾经出现过,当…...
TensorRT 和 PyTorch区别
一、TensorRT 和 PyTorch TensorRT 和 PyTorch 是两个不同的深度学习工具,虽然它们可以用于处理相同类型的任务,但它们的用途、特点和设计目标有所不同。 TensorRT 简介 TensorRT 是 NVIDIA 开发的一款高性能深度学习推理引擎,主要用于优化…...
iOS 17.6.1版本重发,修复高级数据保护错误
今日,苹果没有带来iOS 17.6.2的更新,而是重新发布了iOS 17.6.1版本,本次升级版本号为21G101,高于第一版的21G93。距离初版发布相隔一周半时间。 在 iOS / iPadOS 17.6.1 的更新日志,苹果公司写道:“此更新包…...
【排序算法】八大排序(上)(c语言实现)(附源码)
🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:算法 目录 前言 写一串测试数据 交换两元素的函数 一、冒泡排序 二、选择排序 三、插入排序 四、希尔排序 程序全部代码 总结 前言 排序算法是计算机科…...
Python版《超级玛丽+源码》-Python制作超级玛丽游戏
小时候最喜欢玩的小游戏就是超级玛丽了,有刺激有又技巧,通关真的很难,救下小公主还被抓走了,唉,心累,最后还是硬着头皮继续闯,终于要通关了,之后再玩还是没有那么容易,哈…...
互联网私有IP地址列表
最近因为业务需要,要判断用户的IP是否私有IP, 以前知道的私有IP,基本上只有如下几个(注意:这不是正确答案): 10.0.0.0/8(10.0.0.0-10.255.255.255)172.16.0.0/12(172.16.0.0-172.31…...
光伏项目管理软件为什么那么多光伏人在用?
在光伏行业迅速发展的今天,光伏项目管理软件已成为众多光伏从业者不可或缺的得力助手。那么,为何这款软件能够受到如此广泛的青睐和应用呢? 一、提高项目管理效率 光伏项目管理软件通过数字化、智能化的手段,对光伏项目的各个环节…...
《AOP实战》— 自定义注解
承接上文(传送门 —>《面试必考》 — AOP-CSDN博客),在被面试官拷打的时候,会被问到一个致命问题:“你了解aop吗?有具体的使用经验吗?” 你:......... 言尽于此,此篇…...
微前端架构下的单页应用实现策略
随着Web应用的复杂性日益增加,传统的多页应用(MPA)模式已经难以满足现代Web开发的需求。单页应用(SPA)以其流畅的用户体验和高效的页面加载速度,逐渐成为Web开发的主流模式。然而,在微前端架构下…...
JWT(JSON Web Token)工作原理及特点
JWT定义 概念:JWT是一种开放标准(RFC 7519),用于在网络上安全传输信息,常用于身份验证。比喻:类似于电子通行证,包含用户身份信息,用于身份验证和享受服务。 JWT组成部分 头部&am…...
【体检】程序人生之健康检查,全身体检与预防疫苗,五大传染病普筛,基因检测等
程序员养生指南之 【体检】程序人生之健康检查,全身体检项目分类,五大传染病普筛,基因检测等 文章目录 一、全身体检与预防疫苗(年检)1、实验室检测:生化全套检查2、医技检查:辅助诊疗科室3、科…...
告别GitHub龟速下载:三分钟掌握浏览器加速插件的正确用法
告别GitHub龟速下载:三分钟掌握浏览器加速插件的正确用法 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 你是否曾经在…...
ArcSWAT建模踩坑记:你的土壤数据库参数算对了吗?聊聊SPAW的那些默认值和单位陷阱
ArcSWAT土壤参数校准实战:避开SPAW计算中的5个致命误区 当水文模拟结果与实测数据出现系统性偏差时,经验丰富的建模者会首先检查土壤参数——这个隐藏在界面背后的"沉默变量"往往是误差的最大来源。SPAW作为ArcSWAT推荐的土壤参数计算工具&…...
基于Adafruit FLORA的红外遥控胸针DIY:从嵌入式编程到可穿戴艺术
1. 项目概述:一个藏在时尚配饰里的“电视终结者”几年前,我在一个朋友聚会上,发现大家明明在聊天,眼睛却总是不自觉地瞟向角落里那个正在播放无聊广告的电视。直接走过去关掉显得有点突兀,找遥控器又太麻烦。那一刻我就…...
基于AI智能体的渗透测试框架:从自动化到智能协同的范式转变
1. 项目概述:一个面向渗透测试的智能体框架最近在整理自己的工具链时,发现了一个挺有意思的项目,叫GH05TCREW/pentestagent。乍一看这个名字,你可能会觉得这又是一个“缝合怪”式的自动化渗透工具,把Nmap、SQLmap之类的…...
Applite:告别命令行!macOS软件管理的图形化终极解决方案
Applite:告别命令行!macOS软件管理的图形化终极解决方案 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 还在为Homebrew复杂的命令行操作而头疼吗&…...
终极Python通达信数据解析方案:mootdx完整使用指南与金融量化实践
终极Python通达信数据解析方案:mootdx完整使用指南与金融量化实践 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在金融数据分析和量化交易领域,通达信作为国内主流的证券…...
C++定时器避坑指南:线程安全、资源泄漏与时间轮参数怎么调?一次讲清楚
C定时器避坑指南:线程安全、资源泄漏与时间轮参数调优实战 在分布式系统和高并发场景中,定时器如同系统的心跳机制,其稳定性直接决定服务可靠性。去年某电商平台大促期间,由于定时任务堆积导致的雪崩效应,造成近千万损…...
终极qmcdump指南:5分钟掌握QQ音乐加密格式解密技巧
终极qmcdump指南:5分钟掌握QQ音乐加密格式解密技巧 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump qmcdump是…...
开源机械爪OpenClaw:从设计到力控抓取的完整实现指南
1. 项目概述:从“OpenClaw”看开源机械爪的无限可能最近在逛GitHub的时候,发现了一个挺有意思的项目,叫“MeyerZhou/openclaw”。光看名字,你大概能猜到这是个关于机械爪的开源项目。没错,这是一个旨在提供低成本、模块…...
AI 术语通俗词典:计算图
计算图是深度学习、自动微分、神经网络训练和人工智能框架中非常重要的一个术语。它用来描述:把一次数学计算过程表示成由节点和边组成的图结构。换句话说,计算图是在回答:模型中的输入、参数、运算和输出之间,到底是如何一步步连…...
