鸿蒙4.0用的编程语言是ArkTs。它是在TypeScript的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。

简单来说,TypeScript是JavaScript的超集,ArkTS则是TypeScript的超集。

1.TypeScript-基础类型

(1)布尔类型
let flag:boolean =false;

(2)数字类型
let a:number=123;

(3)字符串类型
let name:string=”张三”;

(4)数组类型
let arr1:number[]=[1,2,3];
let arr2:Array<number>=[1,2,3];

(5)元组
let x:[string,number]
x=[“name”:123]

(6)枚举
enum Week {一、二、三}
let w:Week=Week.一;

(7)Unknown
let data:nuknown=4
data=”张三”

unknow这个非常类似于ts中的any写法。

(8)void

主要用来修饰函数,表示没有返回值

function f():void{
}

(9)Null和Undefined

在ts中,null和undefined分别有自己的类型

let a:undefined=undefined
let b:null=null

(10)联合类型

实际开发中比较常见,一般是number和string,比如下面这样:

let xx:string|number;
xx="one";
xx=1;
2.TypeScript条件语句

这个部分很简单,有任何语言基础的都不用细看。

(1)if语句

let a:number=30
if(a>0){
  console.log("哈哈");
}

(2)if…else语句

let a:number=8
if(a%2==0){
    console.log("偶数")
}else{
    console.log("奇数")
}

(3) if…else if…else

let a:number=8
if(a>1&&a<5){
  console.log("1")
}else if(a>=5){
  console.log("2")
}else {
  console.log("3")
}

(4)switc…case

实际开发中一般不愿意用。功能跟上面的类似,看起来更有条理性。‘

let type:string='1';
switch(type){
    case '1':{
       console.log("级别1");
       break;
    }
    case '2':{
       console.log("级别2");
       break;
    }
    default:{
       console.log("非法")
       break;
    }
}

注意,有过语言基础的知道,如果不写break,后面的case条件都会依次成立,这样就失去了选择的作用了。

3.TypeScript函数

(1)有名函数

无指定类型
function fun(x,y){
     return x-y;
}
有指定类型
function fun(x:number,y:number):number{
     return x-y;
}

(2)匿名函数

无指定类型
let fun=function(x,y){
  return x-y;
};
有指定类型
let fun=function(x:number,y:number):number{
  return x-y;
};

(3)可选参数

我们可以用?来表示可选参数,比如下面这样:

function fun(x:string,y?:string){
   if(y)
     return x+y;
   else
      retrun 'hello'+x;
}

let res=fun('tom')
let res2=fun('tom','cat')

(4)剩余参数

剩余参数会被当做不限的可选参数,可以一个都没有,同样也可以任意个。可以用省略号进行定义。

function fun(first:string,...listData:string[]){
  return first +''+listData.join('');
}
let pr=fun('A','B','C');

(5)箭头函数

箭头函数是定义匿名函数的简写语法,用于函数表达式,省略了function。基础定义如下:

([param1,param2,...paramn])=>{

}

也可以写成下面这样:
let  fun=([param1,param2,...paramn])=>{

}

//调用方式如下
fun(param1,param2,...paramn)
4.TypeScript_类

我们可以定义一个students类。

class Students{
     private name:string
     private age:number

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

定义后,我们可以调用这个类

let stu=new Students('tom',18);
5.TypeScript_继承

继承就是子类继承父类的特征和行为,使得和父类有相同的行为。

class tom extengs Students{
   private chinese:number
   
   constructor(name:string,age:number,chinese:number){
     super(name,age);
     this.chinese=chinese;
   }
}
6.模块_导入与导出
//导出
export class A{
    type:string;

    constructor(type:string){
      this.type=type
    }
}

//导入
import {A} from ‘../A’;
7.迭代器

(1)for of语句

用来遍历对象。

let  array=[1,'2',3];



for(let a of array){



(2) for…in

for…in 和for… of的区别是for…in 迭代的是对象的键,for…of是迭代对象的值。

let  array=[1,'2',3];



for(let a in array){
   console.log(a)

}