TypeScript学习笔记、鸿蒙开发学习笔记

 变量定义方式

# 变量声明
let msg: string = 'douzi'
console.log(msg)
let num: number = 20
console.log(num)
let end: boolean = true
console.log("end=" + end)
let a: any = 10
a = 'douzi'
console.log(a)
let p = {name:"douzi",age:20}
console.log(p.name)
console.log("age=" + p['age'])
let names: Array<string> = ["douzi","douzi1"]
console.log(names[0])
let ages: number[] = [20,21]
console.log("age1=" + ages[1])

 条件定义方式

# 条件语法
if(num % 2 == 0) {
    console.log("num 是偶数")
}else {
    console.log("num 是奇数")
}

if (num > 0) {
    console.log("num 是正数")
}else if(num < 0){
    console.log("num 是负数")
} else {
    console.log("num 是0")
}

# switch 
switch(msg) {
    case 'douzi': {
        console.log("douzi")
        break
    }
    case 'douzi1': {
        console.log("douzi1")
        break
    }
    default: {
        console.log('douzi2')
        break
    }
}

 循环定义方式

# 循环语法
for(let i = 0; i < 10; i++) {
    console.log("for i=" + i)
}

let i = 0;
while(i < 10) {
    console.log('while i=' + i ++)
}

let names: Array<string> = ["douzi","yuehua"]
// for in 迭代器,获取数组角标  const = let
for (const i in names) {
    console.log(i + "=" + names[i])
}
// for of 迭代器,获取数组元素
for (const name of names) {
    console.log("of name = " + name)
}

 函数定义方式

# 无返回值函数  :void 可以省略
function helloWorld(name:String, age:number): void {
    console.log("name=" + name + ",age=" + age + ",Hello World!")
}

# 无返回值函数简写方式
let helloWorld = (name:String, age:number) => {
    console.log("name=" + name + ",age=" + age + ",Hello World!")
}

helloWorld('douzi', 40)

# 有返回值函数
function sum(x: number, y: number): number {
    return x + y
}

# 有返回值函数简写方式
let sum = (x: number, y: number): number => {
    return x + y
}
let result = sum(10, 20)
console.log("10 + 20 = " + result)


# 可选参数,?代表参数 可传 可不传
let sayHello = (name ?:String) => {
    name = name ? name : 'yuehua'
    console.log("Hello " + name)
}
sayHello()
sayHello('douzi')


# 入参默认值 当不传参数时,使用默认值
let sayHello = (name :String = 'yuehua') => {
    console.log("Hello " + name)
}
sayHello()
sayHello('douzi')

类和接口的定义

# 接口继承
enum Msg {
    HI = 'Hi',
    HELLO = 'Hello'
}

interface A {
    say(msg: Msg): void
}

class B implements A {
  say(msg: Msg) {
    console.log(msg + ", I am B")
  }
}

let a:A = new B()
a.say(Msg.HELLO)

# 类继承
class Rectangle {
    private width: number
    private height: number
    constructor(width: number,height: number) {
        this.height = height;
        this.width = width
    }    
    public area(): number {
        return this.width * this.height
    }
}
class Square extends Rectangle {
    constructor(side: number) {
        super(side, side)
    }
}

let s:Square = new Square(5)
console.log('正方形边为5的area=' + s.area())

ets文件中的重要 关键字

struct Index   自定义组件:可复用的UI单元

@Component    自定义组件

@Entry              当前组件是入口组件

@State              标记变量为状态变量,值变化会触发UI刷新

 

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

窦再兴

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值