HarmonyOS 学习---Remark 1

HarmonyOS

HarmonyOS官网从零学习笔记

该文章是 TS(TypeScript)的基础语法。

ArkTS开发语言介绍

ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。要了解什么是ArkTS,我们首先要了解下ArkTS、TypeScript和JavaScript之间的关系:

JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。
TypeScript 是 JavaScript 的一个超集,它扩展了 JavaScript 的语法,通过在JavaScript的基础上添加静态类型定义构建而成,是一个开源的编程语言。
ArkTS兼容TypeScript语言,拓展了声明式UI、状态管理、并发任务等能力。
由此可知,TypeScript是JavaScript的超集,ArkTS则是TypeScript的超集,他们的关系如下图所示:
ArkTS,TS和JS区别

总结:
TypeScript = JS + 静态类型
ArkTS = TS超集 + 声明式UI + 状态管理 +并发 等。

TypeScript 基本类型

  1. 布尔值boolean ,
  2. 数字number,
  3. 字符串String,
  4. 数组[]
  5. 元组 可多种类型数组[]
  6. 枚举
  7. Unknown 未知类型
  8. Void 方法
  9. Null 和 Undefined 空和未定义
  10. 联合类型 |
let isDone: boolean = false;

数字

let decLiteral: number = 2023;
let binaryLiteral: number = 0b11111100111;
let octalLiteral: number = 0o3747;
let hexLiteral: number = 0x7e7;

String

let name: string = "Jacky";
name = "Tom";
name = 'Mick';

数组

let list: number[] = [1, 2, 3];

let list: Array<number> = [1, 2, 3];

元组

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为 string和number类型的元组。

let x: [string, number];
x = ['hello', 10]; // OK
x = [10, 'hello']; // Error

枚举

enum类型是对JavaScript标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字。

enum Color {Red, Green, Blue};
let c: Color = Color.Green;

Unknown

有时候,我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型。这种情况下,我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。那么我们可以使用unknown类型来标记这些变量。

let notSure: unknown = 4;
notSure = 'maybe a string instead';
notSure = false;
Void

当一个函数没有返回值时,你通常会见到其返回值类型是 void。

function test(): void {
   console.log('This is function is void');
}

Null 和 Undefined

TypeScript里,undefined和null两者各自有自己的类型分别叫做undefined和null。

let u: undefined = undefined;
let n: null = null;

联合类型

联合类型(Union Types)表示取值可以为多种类型中的一种。

let myFavoriteNumber: string | number;
myFavoriteNumber = 'seven';
myFavoriteNumber = 7;

条件语句

  1. if-else
  2. switch - case

函数

  1. 基本结构
  2. 匿名函数
  3. 可选参数 ?
  4. 剩余参数 …
  5. 箭头函数 lamda表达式

基本结构

function 函数名(参数) : 返回值{
		函数体
}

匿名函数

let myAdd = function (x, y) {
  return x + y;
};

类 (与java类似)

基本结构

//函数名
class Person {
	// 变量
  private name: string
  private age: number
  // 构造方法
  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }
	// 函数方法
  public getPersonInfo(): string {
    return `My name is ${this.name} and age is ${this.age}`;
  }
}

继承 (多态)

class Employee extends Person {
  private department: string

  constructor(name: string, age: number, department: string) {
    super(name, age);
    this.department = department;
  }

  public getEmployeeInfo(): string {
    return this.getPersonInfo() + ` and work in ${this.department}`;
  }
}

导包 import 和export

要在使用该类的时 -----加入 export 关键字 —export class

	export class Person{
	
	}

使用该类的具体包 ---- 导包 import {命名(别名)} from 具体位置(相对位置)

	import  {PersonNew}  from ../bean/Person

	// 使用
	PersonNew()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值