wordpress 插件 知乎,站长工具seo综合查询腾讯,如何开网店无货源不需要投资,深圳景点1.什么是TypeScript#xff0c;它和JavaScript#xff0c;ArkTs有什么区别
ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript#xff08;简称TS#xff09;的基础上#xff0c;匹配ArkUI框架#xff0c;扩展了声明式UI、状态管理等相应的能力#xff0c;让开发…1.什么是TypeScript它和JavaScriptArkTs有什么区别
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而TS在JS的基础也得到了扩展经过了解下面我们学习一下Type Script的基础语法
2.Type Script基础语法
基本类型
1.布尔类型boolean
let isDone:boolean true
2.数字number
let n:number 1
3.字符串string
let s:string string
4.数组number[]或Arraynumber
let arr :number[] [1,2,3]
let list: Arraynumber [1,2,3,4,5]
5.元祖[number,string]
let tuple:[string,number] [name,12]
6.枚举 enum
enum Color{Red,Green,Blue
}
let e:Color Color.Red
7.unkown
let no:unknown 4
no false
no unkown
8.void
function test():void{}
9.undefine和null
let u:undefined undefinedlet emtry null
10.联合类型比如 let x stringnumber x可以赋值为str和1
let b :string|number 1
b str
b 4
条件语句
1.if语句
let x 1if(x1){console.log(666)
}
2.if...else....语句
if(x1){console.log(是1)
}else{console.log(不是1)
}
3.if...else if...if...语句
if(x1){console.log(是1)
}else if(x2){console.log(是2)
}else{console.log(不是1也不是2)
}4.switch...case....语句(default,break)
switch (x){case 1:console.log(是1)break;case 2:console.log(是2)break;default :console.log(不是1也不是2)break;
}
函数
函数声明包含函数名参数返回类型
1.有名函数
function add(x:number,y:number):number{return xy;
}
2.匿名函数
let n function(x:number,y:number){return xy;
};
3.函数的可选参数
我们在参数值后跟表示该参数是可选的即传与不传都不影响函数的执行
function getInfo(firstName:string,lastName?:string){Console.log(getInfo)
}
4.函数的剩余参数
我们在参数值前跟...表示该参数是一个剩余参数即可以不传也可以传多个
function printName(firstName:string,...lastName:string[]){}
5.箭头函数
在ES6版本Type Script 提供了箭头函数即function可以被省略以箭头的形式表示一个函数,还可以将整个代码块赋值给变量
let x (firstName:stringlastName:string){//代码块
}
类
类是一种面向对象思想的编程用法包含变量的声明构造函数以及普通函数的使用
1.类的基础用法
class Person{private name:stringprivate age:numberconstructor(name:string,age:number) {this.name namethis.age age}public getInfo():string{//return name:this.name,age:this.age;return name is ${this.name},age is ${this.age}//反引号}
}let p new Person(sun,14)console.log(p.getInfo())
2.继承
class Employee extends Person{}
模块
一个文件的B类想要访问另外一个文件的A类在TS里需要使用export导出A类在B类里通过import 导入进来
任何声明比如变量函数类类型别名或接口都能够通过添加export关键字来导出
模块A
export class Person{...} 模块B import {Person} from ../../../../../entry/src/main/ets/entryability/Personclass test{x new Person(name,12)constructor() {}
}let test1 new test();console.log(test1.x.getInfo());模块 | TypeScript Handbook
迭代器
当一个对象实现Symbol.iterator属性时我们认为它是可迭代的一些内置的类型比如ArrayMapSetStringInt32ArrayUInt32Array都具有迭代性。
1.for...of...对值遍历
let arr [1,2,3]for(let x of arr){console.log(x.toString()) //1,2,3
}
2.for...in...对下标遍历
let arr [1,2,3]for (let arrKey in arr) {console.log(arrKey); //012
}
3.在线学习与运行
TypeScript 中文网
TypeScript 在线工具 | 菜鸟工具
TypeScript: TS Playground - An online editor for exploring TypeScript and JavaScript