版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HarmonyOS简介了解鸿蒙鸿蒙发展历史了解OpenHarmonyOpenHarmony是由开放原子开源基金会(OpenAtomFoundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。OpenHarmony提供一个智能终端设备的操作系统底座框架和平台,参与者只要遵循开源协议和法律,就可以持续为OpenHarmony开源项目贡献代码,共同促进万物全场景、全连接、全智能的互联产业的繁荣发展。项目地址为:/openharmony。
了解HarmonyOSHarmonyOS就是鸿蒙操作系统,是商用版本,是华为基于OpenHarmony、AOSP(AndroidOpenSourceProject)等开源项目推出的新一代智能终端操作系统,HarmonyOS手机和平板也能运行Android应用,是因为HarmonyOS遵循了Android的AOSP。HarmonyOS系统架构HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。1+8+N全场景应用HarmonyOS是一个支持多设备的操作系统,“一生万物,万物归一”。HarmonyOS以手机为核心,将生活场景中的各类终端进行能力整合,构建1+8+N全场景应用,实现不同终端设备之间的快速连接、服务流转、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。开发前准备了解DevEcoStudioHUAWEIDevEcoStudio(简称DevEcoStudio)是面向华为终端全场景多设备的一站式集成开发环境(IDE),除了创建工程、开发、编译、调试、发布等功能外,DevEcoStudio还可以支持多设备开发,实时预览器/模拟器等。DevEcoStudio支持多设备预览、模拟器运行、真机运行三种方式。开发者可以在DevEcoStudio中使用远程模拟器(RemoteEmulator)运行应用,也可以下载本地模拟器(LocalEmulator)运行应用,开发者还可以使用超级终端模拟器(SuperDevice)调测跨设备的应用。搭建开发环境流程DevEcoStudio支持Windows系统和macOS系统,在开发HarmonyOS应用/服务前,需要配置HarmonyOS应用/服务的开发环境。Node.js与npmNode.js是什么?Node.js是一个基于GoogleV8引擎开发的C++程序Javascript运行环境(runtime),具有事件驱动、非阻塞I/O的特点。Node.js的优点响应速度快易于扩展适合在分布式设备上运行数据密集型的实时应用npm
是
NodePackageManager的缩写,意思是Node.js的包管理系统。安装了Node.js后,自动会安装npm。认识DevEcoStudio界面认识TypeScript01020304JavaScript和TypeScript概述TypeScript程序的编译与运行TypeScript语法说明TypeScript变量声明JavaScript与ES6JavaScript语言(简称“JS”)解释型脚本语言广泛应用在Web端、移动端、小程序端、桌面端、服务端动态类型语言ES6(全称“ECMAScript6.0”)JavaScript的一个版本标准2015年6月,ES6版本正式成为国际标准TypeScript简介TypeScript(简称“TS”)微软开发的一种开放源代码语言JS的一个超集提供编译时的静态类型检查ArkTS鸿蒙生态的一种应用开发语言TS的一个超集扩展了声明式UI、状态管理等相应的能力JS、TS、ArkTS三者关系TypeScript程序的编译和运行编译使用tsc命令将TS文件.ts编译成JS文件例如:tsctest.ts运行使用node命令执行编译生成的JS文件例如:nodetest.jsTypeScript语法说明TypeScript是面向对象语言,与C#或Java类似。相同之处:可以使用数据类型定义变量具有函数、类、接口、枚举等类型。不同之处:TS结束语句可以使用分号也可以不使用分号TS字符串可以使用单引号也可以使用双引号示例:TypeScript变量声明TypeScript变量的命名规则:变量名称可以包含数字和字母;除了下划线_和美元$符号外,不能包含其他特殊字符,包括空格;变量名不能以数字开头;不能是关键字,例如let、const等示例:正确的变量命名:message、$name、_init错误的变量命名:123、123message、user/name!fruit1amilk%$age_value思考一下:以下哪些变量命名是正确的:TypeScript变量声明声明变量使用的关键字:var或let(建议使用let)TypeScript声明变量方式的几种情况:let[变量名]:[类型]=值;
使用示例:letuname:string="hello";let[变量名]:[类型];
使用示例:letuname:string;let[变量名]=值;
使用示例:letuname="hello";let[变量名];
使用示例:letuname;TypeScript变量声明TypeScript在编译时进行类型检查,遵循强类型,如果将不同的类型赋值给变量会编译错误。示例代码如下://声明变量val,并赋初始值let
val
=
123;//使用变量val
=
456
;
//正确console.log(val);//在控制台打印出变量val的值val
=
'deg';
//编译错误TypeScript常用基础数据类型TypeScript的常用基础数据类型TypeScript的常用基础数据类型有:any(任意类型)number(数字类型)string(字符串类型)boolean(布尔类型)数组类型tuple(元组类型)enum(枚举类型)void类型null和undefined类型never类型TypeScript的常用基础数据类型any类型声明为any的变量可以赋予任意类型的值示例代码如下:let
data:
any;
//声明变量data为any类型data
=
"hello";
//将字符串赋值给dataconsole.log(typeof(data));
//输出data的类型为stringTypeScript的常用基础数据类型number类型number代表数字类型,是浮点值,它可以用来表示整数和小数。示例代码如下:let
data:
number;
//声明变量data为数字类型data
=
222;console.log(typeof(data));
//numberTypeScript的常用基础数据类型string类型string代表字符串类型,使用单引号(‘)或双引号(“)来表示字符串类型,反引号(`)来定义多行文本和内嵌表达式,反引号中的${变量名}会替换成相应的变量的值。示例代码如下:let
data1:
string
=
"hello";
//声明变量data为字符串类型let
data2
=
`${data1}`;
//使用反引号,${变量名}会获取到相应变量的值console.log(data2);
//hello
TypeScript的常用基础数据类型boolean类型boolean代表布尔类型,表示逻辑值:true和false。示例代码如下:let
data:
boolean
=
true;
//声明变量data为布尔类型TypeScript的常用基础数据类型数组类型数组里放的都是类型相同的数据。有两种方式可以定义数组。第一种,可以在元素类型后面接上[]。第二种使用数组泛型,Array<元素类型>。示例代码如下://声明变量datas为数组类型,数组中都是数字,声明数组时同时初始化值let
datas:
number[]
=
[4,8,7];//声明变量temps为数组泛型,数组中的数据类型是numberlet
temps:
Array<string>
=
["hi","ArkTS"];console.log(temps[1]);
//获取temps数组的第2个成员的值,值为ArkTSTypeScript的常用基础数据类型元组类型元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同,初始化值时对应位置的数据类型要相同。示例代码如下:let
temps:
[number,string,boolean]
=
[2,'Hi',false];
//个数、类型、顺序要一致temps
=
["UI",'HarmonyOS',true];//编译报错:不能将类型“string”分配给类型“number”TypeScript的常用基础数据类型枚举类型使用枚举我们可以定义一些带名字的常量。使用枚举可以清晰地表达意图或创建一组有区别的用例。TypeScript支持数字的和基于字符串的枚举。示例代码如下:enum
DeviceType{
ZigBee,
LoRa}console.log(DeviceType.LoRa+"");//从枚举类中取LoRa成员的值,值为1TypeScript的常用基础数据类型void类型void类型一般用于声明函数返回值类型它表示没有任何类型。当一个函数没有返回值时,你通常会见到其返回值类型是void。(void用来声明的变量没多大作用)。示例代码如下:function
testFun():
void{
//函数没有返回值
return
123;
//编译报错:不能将类型“number”分配给类型“void”}
TypeScript的常用基础数据类型undefined与null类型undefined与null用作变量类型声明用处不大,undefined一般用于变量未初始化时的默认值,null变量用于给变量置空时使用。示例代码如下:
let
cat;
//声明变量cat,但没有初始化
console.log(cat+"");
//undefined
cat
=
null;
if(null
==
cat)
{
console.log(cat+"");
//null
}TypeScript的常用基础数据类型never类型never类型是其他类型的子类型,表示的是那些永不存在的值的类型。用在函数中,用来限制函数永远也执行不到返回值的地方。示例代码如下:function
testFun():
never{
//正确
while(true)
{
//…}
//while循环为恒真,永远也不会执行到这里
}TypeScript的常用基础数据类型联合类型联合类型使用管道符号(|)可以将变量声明为多种类型,例如string|number表示字符串或者数值类型。示例代码如下:let
x:
string|number;x
=
12;
//正确x
=
"haha"
;
//正确x
=
true;
//编译报错TypeScript函数010203060504函数的定义与调用函数的返回值可选参数箭头函数匿名函数默认参数07函数声明函数的定义与调用函数的定义使用function关键字修饰:函数名必须形参个数可选形参对应的类型可选(形参没有设置类型时,使用any类型)形参之间使用逗号隔开返回值类型可选(没有指定返回值类型时,返回值类型由返回值内容确定)function函数名(形参1:类型1,形参2:类型2…):返回值类型{
//要执行的代码}函数的定义与调用函数的定义示例:functiontest()
{
console.log("hello")
//要执行的代码块}函数的调用使用函数名()的形式调用函数,若定义的函数有形参,则调用时要传入实参。test()函数的返回值指定返回值类型时,使用return返回该类型的返回值使用void修饰返回值类型时,表示该函数没有返回值,不能使用return//定义函数,该函数的返回值类型为stringfunction
test100():
string{
return
"hi"
//返回一个string类型的结果}let
res_fun1:
string
=
test100();//调用函数并接收函数的返回值//定义函数,该函数没有返回值function
test200():
void{
return
"hi"
//编译报错}函数的返回值//定义函数,该函数的返回值未指明类型或void,则函数的返回值类型依情况而定function
test300(){
return
123
//返回一个number类型的值}let
res300:
number
=
test300();
//调用函数并接收函数的返回值没有返回值类型修饰时,可以返回任意类型的值,也可以不返回值。(函数的返回值类型由返回值决定)可选参数在TypeScript函数里,如果定义了参数,则调用函数时必须传入指定类型的参数,除非将这些参数设置为可选。可选参数使用问号(?)标识可选参数必须跟在必须参数后面function
test(x:
string,
y?:
number)
//声明一个有可选参数的函数{
//要执行的代码
}test("hi");
//调用函数,正确默认参数当定义了有参数的函数,但是在调用函数的时候,如果不想传入该参数的值,则使用默认参数。function
test(x:
string,
y:
number
=
200)
//声明一个有默认值参数的函数{
console.log(x+"
"+y);}test("hi");
//调用函数,正确,y的值为200注意:同一个参数不能同时设置为可选和默认。匿名函数匿名函数是一个没有函数名的函数,在程序运行时动态声明,除了没有函数名外,其他的与普通函数一样。将匿名函数赋值给一个变量,这种表达式就是匿名函数表达式。let
res
=
function(a:
number,b:
number){
//定义一个带参数的匿名函数
return
a+b;}console.log(res(4,5)+"");
//调用函数,输出:9匿名函数在匿名函数后使用()就是匿名函数的自调用。(function(){
console.log("我是自调用函数");})()
//匿名函数的自调用,输出:我是自调用函数箭头函数匿名函数的另一种简洁写法就是箭头函数的形式(使用=>定义函数,也称作lambda表达式)。/箭头函数:省略function关键字和函数名,使用=>let
res1
=
(x:number,y:
number)=>{
let
a
=
x+y;
console.log(a+"");}//定义有返回值的箭头函数,并且函数中有多行执行语句let
res2
=
(x:number,y:
number):
string=>{
let
a
=
x+y;
console.log(a+"");
return
"ok"}//当函数的执行部分只有一行语句时,{}可以省略let
res3
=
(x:number,y:
number)=>x+y//当函数只有1个参数,()可以省略let
res4
=
x=>x+100;//当函数无参时,可以使用空括号:let
res5
=
()=>
100;重点函数的声明函数声明可以限定函数的名称、参数类型和个数、函数的返回值等。//声明函数myFun,有两个参数,返回值类型为string,声明时同时赋值let
myFun:(x:number,y:string)=>string
=
(a:number,b:string)=>{return
b}//调用函数myFunmyFun(100,'HarmonyOS')TypeScript面向对象编程010203面向对象编程概述TypeScript中类的定义和对象的使用TypeScript中接口的声明和使用面向对象编程(OOP)概述面向对象(ObjectOriented)简称OO,它是一种编程思维,用于指导我们如何应对各种复杂的开发场景。这里说的对象(Object),意思就是事物,在面向对象的思维中,它将一切都看作是对象,并以对象为切入点去思考问题。使用面向对象思想编程就称作面向对象编程(ObjectOrientedProgramming),简称OOP。面向对象的相关概念:类对象接口面向对象三大特征:封装、继承和多态...TypeScript中类的定义与对象的使用定义类使用关键字class类中可以有属性和方法类中的属性和方法默认都是public公有的属性可以定义时初始化也可以通过构造方法初始化class
Animal
{
private
name:
string
=
'小动物';
//属性,可以定义时初始化
private
age:
number;
//构造方法给属性做初始化
public
constructor(name:
string,
age:
number)
{
this.name
=
name;
this.age
=
age;
}
//获取属性name的值
public
getName()
{
return
this.name;
}
//设置属性name的值
public
setName(name:
string)
{
this.name
=
name;
}
//age的get()和set()方法省略
//普通方法
public
info():
string
{
return
"Animal
info()
is
running...";
}}TypeScript中类的定义与对象的使用创建对象使用关键字newlet
animal
:Animal
=
new
Animal("小猫",2);console.log(animal.getName());//小猫TypeScript中类的定义与对象的使用继承使用关键字extends子类继承父类的属性和方法子类可以重写父类继承下来的方法子类可以新增属性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版矿权转让代理合同附带地质勘查报告3篇
- 2024年物业管理保安保洁协议3篇
- 2024年油品贸易居间合同正式版范本一
- 2025年WTO贸易争端预防与解决机制合同3篇
- 2025版剧场演出场地租赁及设备供应合同范本3篇
- 2024年版房屋建筑施工总承包合同样本版
- 2024年网络服务提供商与内容提供商合作协议
- 2025年度家庭和睦促进协议书-二零二五版自愿离婚协议2篇
- 2025年度离婚协议书附子女抚养费及财产分割及监护协议范本
- 2024年版夫妻离婚财产分配标准协议版B版
- 扫描电子显微镜(SEM)-介绍-原理-结构-应用
- 北京市海淀区2024-2025学年七年级上学期期中考试英语试卷(含答案)
- 中资企业出海报告:潮涌浪阔四海扬帆
- 老旧小区改造室外消火栓工程施工方案和技术措施
- 《地质灾害监测技术规范》
- 2024-2030年中国云母制品制造市场发展状况及投资前景规划研究报告
- 2025年上半年内蒙古鄂尔多斯伊金霍洛监狱招聘17名(第三批)易考易错模拟试题(共500题)试卷后附参考答案
- 24秋国家开放大学《农产品质量管理》形考任务1-2+形考实习1-3参考答案
- 2024-2025学年人教版八年级上册地理期末测试卷(二)(含答案)
- 80、沈阳桃仙机场二平滑工程冬期施工方案
- 一年级数学练习题-20以内加减法口算题(4000道)直接打印版
评论
0/150
提交评论