当前位置: 首页 > news >正文

HarmonyOs开发之——TypeScript介绍、入门,及 TypeScript、JavaScript、ArkTs的具体区别解读。

HarmonyOs开发之——TypeScript介绍、入门,及 TypeScript、JavaScript、ArkTs的具体区别解读。

一、 开发语言介绍:

TypeScript是JavaScript的超集,ArkTS则是TypeScript的超集。ArkTs是 HarmonyOs的主力开发语言,它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。
  • JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。
  • TypeScript 是 JavaScript 的一个超集,它扩展了 JavaScript 的语法,通过在JavaScript的基础上添加静态类型定义构建而成,是一个开源的编程语言。
  • ArkTS兼容TypeScript语言,拓展了声明式UI、状态管理、并发任务等能力。
1、ArkTS基础类型:
  • let isSelect:boolean = false;  布尔值
  • let count:number = 2222; //0b9897989、0o45646、9x7e8   数字
  • let name:string = "limeimei"  字符串
  • let list:number[] = [1,2,1] 数组
  • let list:Array<number>=[1,2,1] 泛型数组
  • enum Color{r,g,b};  let c:Color = Color.Green;  枚举
  • function main():void{ ... }  函数
2、类:TypeScript支持基于类的面向对象的编程方式,定义类的关键字为 class,后面紧跟类名。类描述了所创建的对象共同的属性和方法。
A、类的定义

声明一个Person类,这个类有3个成员:一个是属性(包含name和age),一个是构造函数,一个是getPersonInfo方法,其定义如下所示。

class Person {private name: stringprivate age: numberconstructor(name: string, age: number) {this.name = name;this.age = age;}public getPersonInfo(): string {return `My name is ${this.name} and age is ${this.age}`;}
}

通过上面的Person类,我们可以定义一个人物Jacky并获取他的基本信息,其定义如下:

let person1 = new Person('Jacky', 18);
person1.getPersonInfo();

B、继承

继承就是子类继承父类的特征和行为,使得子类具有父类相同的行为。TypeScript中允许使用继承来扩展现有的类,对应的关键字为extends。

class Employee extends Person {private department: stringconstructor(name: string, age: number, department: string) {super(name, age);this.department = department;}public getEmployeeInfo(): string {return this.getPersonInfo() + ` and work in ${this.department}`;}
}

通过上面的Employee类,我们可以定义一个人物Tom,这里可以获取他的基本信息,也可以获取他的雇主信息,其定义如下:

et person2 = new Employee('Tom', 28, 'HuaWei');
person2.getPersonInfo();
person2.getEmployeeInfo();

在TypeScript中,有public、private、protected修饰符,其功能和具体使用场景大家可以参考TypeScript的相关学习资料,进行拓展学习。

C、模块

随着应用越来越大,通常要将代码拆分成多个文件,即所谓的模块(module)。模块可以相互加载,并可以使用特殊的指令 export 和 import 来交换功能,从另一个模块调用一个模块的函数。

两个模块之间的关系是通过在文件级别上使用 import 和 export 建立的。模块里面的变量、函数和类等在模块外部是不可见的,除非明确地使用 export 导出它们。类似地,我们必须通过 import 导入其他模块导出的变量、函数、类等。

导出

任何声明(比如变量,函数,类,类型别名或接口)都能够通过添加export关键字来导出,例如我们要把NewsData这个类导出,代码示意如下:

export class NewsData {title: string;content: string;imagesUrl: Array<NewsFile>;source: string;constructor(title: string, content: string, imagesUrl: Array<NewsFile>, source: string) {this.title = title;this.content = content;this.imagesUrl = imagesUrl;this.source = source;}
}

导入

模块的导入操作与导出一样简单。 可以使用以下 import形式之一来导入其它模块中的导出内容。

import { NewsData } from '../common/bean/NewsData';
D、迭代器:当一个对象实现了Symbol.iterator属性时,我们认为它是可迭代的。一些内置的类型如Array,Map,Set,String,Int32Array,Uint32Array等都具有可迭代性。
E、for..of 语句:会遍历可迭代的对象,调用对象上的Symbol.iterator方法。 下面是在数组上使用for..of的简单例子:
let someArray = [1, "string", false];for (let entry of someArray) {console.log(entry); // 1, "string", false}
F、for..of vs. for..in 语句:均可迭代一个列表,但是用于迭代的值却不同:for..in迭代的是对象的键,而for..of则迭代的是对象的值。
let list = [4, 5, 6];for (let i in list) {console.log(i); // "0", "1", "2",
}for (let i of list) {console.log(i); // "4", "5", "6"
}

一、TypeScript、JavaScript、ArkTs的具体区别

TypeScript、JavaScript 和 ArkTS 是三种不同的编程语言,它们之间有明显的区别和联系。下面将详细地描述它们的区别:
 
1、JavaScript:是一种高级的、解释执行的编程语言,主要用于网页开发。它的设计目的是为了在网页浏览器中运行,控制网页的行为。JavaScript 是一种动态类型语言,这意味着在运行时可以改变变量的类型。它具有单线程执行模型,意味着一次只能执行一个任务,这是它设计时的限制。
  • 动态类型系统:变量在运行时可以改变类型。
  • 单线程执行:一次只能执行一个任务。
  • 基础功能:包括控制 DOM、处理事件、执行异步操作等。
2、TypeScript:TypeScript 是 JavaScript 的一个超集,由 Microsoft 开发。它在 JavaScript 的基础上增加了静态类型系统,这意味着在编译时就能检查类型错误,提高了代码的稳定性和可维护性。TypeScript 代码需要被编译成 JavaScript 才能在浏览器或 Node.js 中运行。
  • 静态类型系统:变量类型在编译时确定,可以提供更早的错误检查。
  • 编译为 JavaScript:TypeScript 代码最终会被编译成 JavaScript。
  • 扩展 JavaScript:添加了类、接口、枚举等结构化编程特性。
3、ArkTS:ArkTS 是专为鸿蒙OS(HarmonyOS)设计的全场景应用开发语言。它在 TypeScript 的基础上进一步扩展,增加了声明式UI、状态管理等特性,以支持鸿蒙OS的组件化开发。ArkTS 也支持一次开发,多端部署,意味着在一个平台上编写代码后,可以部署到不同的设备端。
  • 声明式UI:以声明的方式定义用户界面,使代码更简洁、易维护。
  • 状态管理:提供组件状态、数据共享等机制,方便处理复杂应用状态。
  • 组件化开发:支持组件化、可配置的开发,降低开发难度,提高开发效率。
  • 与 JavaScript/TypeScript 的兼容性:作为 TypeScript 的超集,ArkTS 兼容 JavaScript 和 TypeScript 的代码和库。
     
总结:
JavaScript 是基础,广泛用于网页和前端开发。
TypeScript 是 JavaScript 的超集,增加了静态类型检查,适合大型项目和团队协作。
ArkTS** 是 TypeScript 的超集,专为鸿蒙OS设计,支持组件化、声明式UI和状态管理等特性,适用于鸿蒙OS的全场景应用开发。

相关文章:

  • 中国深圳航空公司官网免费发seo外链平台
  • 新加坡网站域名谷歌广告怎么投放
  • 做任务赚钱的网站有哪些百度网盘资源
  • wordpress 织梦 淘客seo全站优化全案例
  • 静态网站怎么维护一手项目对接app平台
  • wordpress ishopping湖南seo优化推荐
  • 制药行业的精细化管理:GCOM80-2NET自动化解决方案
  • Python+selenium自动化生成测试报告
  • 营业额统计-02.代码开发及功能测试
  • 命名数据网络 | 兴趣包(Interest Packet)
  • GitLab 18.1 正式发布Maven 虚拟仓库、密码泄露检测等功能,可升级体验!
  • 广州华锐互动:技术与创意双驱动的 VR 先锋​
  • Claude 3.7 的 token 预算机制详解:可控深度的混合推理范式
  • HDFS(Hadoop分布式文件系统)总结
  • 【缓存技术】深入分析如果使用好缓存及注意事项
  • 基于SpringBoot和Leaflet的区域冲突可视化-以伊以冲突为例
  • 6.26_JAVA_微服务_Elasticsearch
  • CRON表达式编辑器与定时任务实现技术文档
  • Linux 统一方式安装多版本 JDK 指南
  • LINUX 626 DNS报错
  • 【工具推荐】WaybackLister——发现潜在目录列表
  • JavaEE:分布式session
  • 2025学年湖北省职业院校技能大赛 “信息安全管理与评估”赛项 样题卷(五)
  • centos 7 安装NVIDIA Container Toolkit
  • 【unity游戏开发——网络】计算机网络中的三种数据管理模型(分散式、集中式、分布式)和三大通信模型(C/S、B/S、P2P)
  • 环境太多?不好管理怎么办?TakMll 工具帮你快速切换和管理多语言、多版本情况下的版本切换。