鸿蒙APP开发学习

软件(ide)下载:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者

学习路径:HarmonyOS第一课|应用开发视频教程学习|HarmonyOS应用开发官网

文档网站:文档中心

实战案例:HarmonyOS系统Codelabs技术指导_华为HarmonyOS源代码 - HarmonyOS应用开发官网

0.TS的基本语法

变量声明

TS在JS的基础上加入了静态类型检查功能,因此每一个变量都有固定的数据类型

let msg: string --> 关键字 变量名 变量的数据类型

let msg: string = 'hello world' -->完整的一个变量声明

变量的数据类型

string :字符串

number :数字

boolean :布尔

any(不确定) :可以是任意类型

union :联合类型

        可以指定多个类型中的一个 eg. let u: string|number|boolean = 'rose'

object 对象

        let p = {name: 'jack',age : 21} console.log(p.name):向控制台输出日志p.name console.log(p['name'])

Array:数组

        let names: Array<string> = ['ja ck' , 'Rose'] let ages: number[] = [21,18] console.log(name[0])

条件控制

与大多语言类似,支持基于if-else和switch的条件控制 TS中只有空字符串,数字0和null都被认定为false,其他的都是true

循环迭代

TS中支持for和while循环,并且因为以下内置类型如Array提供了快捷迭代语法

Array的for--in迭代器,遍历得到的数组的角标

let names: Array<string> = ['jack' , 'Rose']

			for(const i in names){

				console.log(i + ':' + names[i])

			}

for--of迭代器,直接得到元素

let names: Array<string> = ['jack' , 'Rose']

			for(const name of names){

				console.log(name)//可以直接得到name的元素

			}

基础语法

函数

TS通常利用function关键字声明函数,并且支持可选参数。默认参数,箭头函数等特殊语法。

// 无返回值函数,返回值void可以省略

function sayHello(name: string): void{ console.log('你好' + name + '!') } //使用方法 sayHello('Jack')

//有返回值函数 function sum(x: number,y: number): void{ return x + y; } let result = sum(21,18) console.log('21 + 18 = ' + result) ​

//箭头函数 let sayHi = (name: string) =>{ console.log('你好,' + name + '!') } sayHi('Rose') ​

//可选参数,在参数名后加?,表示该参数是可选的 function sayHello(name?: string){ 判断 name = name ? name : '陌生人' console.log('你好,' + name +'!') } sayHello('Jack') sayHello() ​

//参数默认值,在参数后面赋值,表示参数默认值 //如果调用者没有传参,测使用默认值 function sayHello(name: string = '陌生人'){ console.log('你好,' + name +'!') } sayHello('Jack') sayHello()

类和接口:

//定义枚举 enum Msg{ HI = 'Hi', HELLO = 'Hello' } ​

//定义接口 interface A{ say(msg: Msg):void } ​

//实现接口 class B implements A{ say(msg: Msg): void{ console.log(msg + ', I am B') } }

​ //初始化对象 let a:A = new B()

//调用方法 a.say(Msg.HI)

模块开发

我们可以把通用功能抽取到单独的ts文件中,每一个文件都是一个模块(moudle)。
模块可以相互加载,提高代码的复用性。

//用exportl导出
        export class Rectangle{
            public width: number
            public length: number
            
​            constructor(width: number,length: number){
                this.width = width
                this.length = length
            }
        }
     export function area(rec: Rectangle): number{
            return rec.width *rec.length
        }
        //使用方法
            //通过import语法导入,from后面写文件的地址
            import  {Rectangle, area} from '../rectangle'
            
​            let r = new Rectangle(10,20)
            
​            console.log('面积为: ' + area(r))

​   
 

  • 29
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值