HarmonyOS 鸿蒙Next 课程尝鲜计划 编程语言介绍
HarmonyOS 鸿蒙Next 课程尝鲜计划 编程语言介绍 #HarmonyOS课程尝鲜计划#编程语言介绍
作者:坚果
前言
通过此次课程尝鲜计划学习,了解到ArkTS、TypeScript和JavaScript之间的关系,并入门了TypeScript基础语法,同时更深入学习到List组件、Grid组件,Tabs组件的使用,每个课程都讲得很详细, 期待HarmonyOS更多新升级与功能。
1.编程语言介绍
ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。在本课程中对于ArkTS,TypeScript,JavaScript的关系也做了梳理。但是这编辑器插图麻烦,懒得插了。
2. TypeScript快速入门
TypeScript支持一些基础的数据类型,如布尔型、数组、字符串等,
布尔值
TypeScript中可以使用boolean来表示这个变量是布尔值,可以赋值为true或者false。
let isDone: boolean = false;
字符串
TypeScript里使用 string表示文本数据类型, 可以使用双引号( ")或单引号(’)表示字符串。
let name: string = "坚果";
数组
TypeScrip有两种方式可以定义数组。 第一种,可以在元素类型后面接上 [],表示由此类型元素组成的一个数组。
let list: number[] = [1, 2, 3];
元组
TypeScript 提供了元组来表示已知元素数量和类型的数组,元组内的各元素的类型不必相同,但是对应位置的类型必须一致。
let user: [string, number, string]; // 定义一个元组
user = ["坚果", 25, '兰州'];
enum
TypeScript 提供了 enum
关键字表示枚举类型,枚举类型主要用于定义数值的集合。
enum Color { // 定义一个枚举
Red,
Green,
Blue
}
let c: Color = Color.Blue; // 定义枚举类型
Void
TypeScript 提供了 void
关键字表示函数的返回类型为空,也就是函数没有返回值。
function test(): void {
console.log('This is function is void');
}
undefined
TypeScript 提供了 undefined
关键字表示声明了一个变量但并没有赋值的情况。
let data;
联合类型
TypeScript 允许通过 |
将一个变量设置成多种类型,赋值的时候可以根据设置的类型来赋值。
let data: string | number; // 设置data为联合类型
data = '坚果'; // 正确
data = 25; // 正确
3. 条件语句
条件语句用于基于不同的条件来执行不同的动作。TypeScript 条件语句是通过一条或多条语句的执行结果(True 或 False)来决定执行的代码块。
这部分和其他编程语言类似,主要有if 语句,if…else 语句,if…else if…else 语句,switch…case 语句。不做过多学习
4 函数
函数就是包裹在花括号中的代码块,前边使用 function
关键字,语法格式如下:
function function_test() {
// 执行代码
}
例如声明函数如下:
function log() { // 声明一个函数
console.log("坚果"); // 代码块
}
函数调用
函数只有通过调用才可以执行函数内的代码,语法格式如下:
function_test()
函数返回值
如果希望得到函数的执行结果,可以使用 return
语句,语法如下:
function function_test(): return_type {
return value; // return语句
}
上面是函数的基础,此外还有
可选参数
语法:
function func_name(param1: paramType, param2?: paramType) {
}
举例:
function buildName(firstName: string, age?: number) {
if (lastName)
return firstName + ' ' + lastName;
else
return firstName;
}
let result1 = buildName('坚果');
let result2 = buildName('坚果', 25);
剩余参数
剩余参数会被当做个数不限的可选参数。 可以一个都没有,同样也可以有任意个。 可以使用省略号( …)进行定义:
语法:
function func_name(param1: paramType, param2: paramType, ...params: paramType[]) {
}
举例
function getEmployeeName(firstName: string, ...restOfName: string[]) {
return firstName + ' ' + restOfName.join(' ');
}
let employeeName = getEmployeeName('坚果', '组织', '专注于', 'HarmonyOS布道');
箭头函数
ES6版本的TypeScript提供了一个箭头函数,它是定义匿名函数的简写语法,用于函数表达式,它省略了function关键字。箭头函数的定义如下,其函数是一个语句块:
([param1, parma2,…param n])=> {
// 代码块
}
其中,括号内是函数的入参,可以有0到多个参数,箭头后是函数的代码块。我们可以将这个箭头函数赋值给一个变量,
5 类
TypeScript支持基于类的面向对象的编程方式,定义类的关键字为 class,后面紧跟类名。类描述了所创建的对象共同的属性和方法。
类的定义
class class_name {
// 类作用域
}
举例:
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
info(): string {
return `My name is ${this.name} and age is ${this.age}`;
}
}
创建类对象
类定义完后,可以通过 new
关键字实例化一个类的对象,实例化类对象即调用类的构造方法,语法如下
let object_name = new class_name([ args ])
类的继承
TypeScript 支持继承类,创建类的时候可以使用关键字 extends
继承一个已有的类,这个已有的类称为父类,继承它的类称为子类。子类除了不能继承父类的私有成员(方法和属性)和构造函数,其他的都可以继承。语法如下:
class Employee extends Person {
department: string
constructor(name: string, age: number, department: string) {
super(name, age);
this.department = department;
}
public getEmployeeInfo(): string {
return this.info() + ` and work in ${this.department}`;
}
}
通过上面的Employee类,我们可以定义一个人物坚果,这里可以获取他的基本信息,也可以获取他的雇主信息,其定义如下:
let person2 = new Employee('坚果', 25, '润开鸿');
person2.info();
person2.getEmployeeInfo();
访问修饰符
TypeScript 中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。TypeScript 支持 3 种不同的访问权限。
- public(默认):公有,可以在任何地方被访问。
- protected:受保护,可以被其自身以及其子类访问。
- private:私有,只能被其定义所在的类访问。
class Person {
name: string;
private age: number; // age为private,外界无法访问
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
info(): string {
return `My name is ${this.name} and age is ${this.age}`;
}
}
var person = new Person('jianguo', 25);
console.log(person.name); // harmony
console.log(person.age.toString()); // 编译报错,age为private
6 模块
随着应用越来越大,通常要将代码拆分成多个文件,即所谓的模块(module)。模块可以相互加载,并可以使用特殊的指令 export 和 import 来交换功能,从另一个模块调用一个模块的函数。
两个模块之间的关系是通过在文件级别上使用 import 和 export 建立的。模块里面的变量、函数和类等在模块外部是不可见的,除非明确地使用 export 导出它们。类似地,我们必须通过 import 导入其他模块导出的变量、函数、类等。
7 迭代器
当一个对象实现了Symbol.iterator属性时,我们认为它是可迭代的。一些内置的类型如Array,Map,Set,String,Int32Array,Uint32Array等都具有可迭代性。
let list = [1, 2, 3];
for (let i in list) {
console.log(i); // "0", "1", "2",
}
for (let i of list) {
console.log(i); // "1", "2", "3"
}
总结
本文我们跟随课程简单介绍了 TS 基础语法部分,掌握这些基础部分可以支撑日常简单应用开发了。查看更多,可以在参考TypeScript的官方教程
更多关于HarmonyOS 鸿蒙Next 课程尝鲜计划 编程语言介绍的实战教程也可以访问 https://www.itying.com/category-93-b0.html
针对“HarmonyOS 鸿蒙Next 课程尝鲜计划 编程语言介绍”这一问题,鸿蒙(HarmonyOS)作为华为自主研发的操作系统,其在开发过程中支持多种编程语言以适应不同的开发需求和场景。在鸿蒙Next课程尝鲜计划中,主要介绍的编程语言可能包括但不限于以下几种:
-
ArkTS(Ark TypeScript):这是鸿蒙系统推出的一种专门用于UI开发的声明式编程语言。ArkTS基于TypeScript扩展,开发者可以使用它高效地进行界面开发,享受声明式编程带来的简洁与高效。
-
eTS(Efficient TypeScript):与ArkTS类似,eTS也是鸿蒙系统中用于UI开发的一种编程语言,它强调开发效率与性能,适合快速构建高质量的用户界面。
-
Dart:虽然鸿蒙系统本身不直接依赖Dart语言,但考虑到Dart在Flutter框架中的广泛应用,以及Flutter与鸿蒙系统的良好兼容性,Dart语言在鸿蒙开发社区中也有一定的影响力。不过,在鸿蒙Next课程尝鲜计划中,Dart可能不作为重点介绍对象。
-
其他辅助语言:在鸿蒙系统的开发过程中,还可能涉及到一些辅助性的脚本语言或工具语言,如Shell脚本等,用于自动化构建、部署和测试等环节。
请注意,以上信息可能随鸿蒙系统的发展而有所变化。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html,