HarmonyOS-ArkTS

ArkTS

<HarmonyOS第一课>ArkTS语法介绍-华为开发者学堂 (huawei.com)

数据类型

number、string、boolean

变量、常量

//let 变量名:类型 = 值
//const 常量名:类型 = 值
let age: number = 100
console.log('年龄为:',age) //100

命名规则

1.只能包含数字、字母、下划线、$,不能以数字开头
2.不能使用内置关键字或保留字 (比如 let、const)
3.严格区分大小写

运算符

算数 + 、-、*、/、%
赋值 +=、-=、*=、/=、%=
一元 前置/后置++、–
三元 条件 ?返回值1 :返回值2
比较 >、>=、<、<=、==、!=、=== 返回布尔值,三等严格数值和类型相等
逻辑 &&、||、!  返回布尔值

运算符优先级

数组及其操作

声明格式

let 数组名:类型[ ] = [数据1,数据2………]

let names: string[] = ['a','b','c']
console.log(names.toString()) //abc
console.log(names[0]) //a
console.log('',names.length) //3
names.push('d') //a b c d
names.unshift('A') // A a b c d
names.pop() //A a b c
names.shift() //a b c
names.splice(1,2) // a
names.splice(0,1,'b','c','d') // b c d

语句

if-else、switch、while、for、for-of、continue,break

//1.if分支语句
if(逻辑条件1){
  //条件1成立的执行代码
} 
else if (逻辑条件2){
  //条件2成立的执行代码
}
else{
  //条件不成立的执行代码
}

//2.switch分支语句
switch(表达式){
  case 值1:
    //执行代码
    break
 case 值2:
    //执行代码
    break
  default:
    //以上都为成功匹配执行的代码
}

//3.while循环语句
while(条件){
  //条件成功执行代码
}

//4.for循环语句
for(let i:number = 1;i<10;i++){
  //执行代码
}

//5.for-of 遍历数组  类似for in (python)
for(let 存储变量 of 数组){
  console.log('',存储变量)
}
//6.退出语句

函数

1.函数声明和使用

function 函数名(){ //定义无参函数
  //函数体
} 
函数名() //调用函数
function fn(形参1:类型,a:number){ //定义有参函数
  //函数体......
  let result:number = a+1
  return result
} 
let x: number = fn(实参1,100)
console.log(x) //101

2.箭头函数

lambda表达式  简化函数声明,通常用于需要一个简单函数的地方

(参数列表):返回类型 =>{函数体}

let happy = () =>{
  console.log('i am happy')  
}
happy() //i am happy

let buy = (price:number,weight:number) =>{
  let result:number = price*weight
  return result
}
let apple:number = buy(2,3)
console.log('价格:',apple) //6

3.闭包函数

一个函数可以将另一个函数当做返回值,保留对内部作用域访问

function outerFunc():()=>{
  let count = 0
  return ():string=>{
    count++;
    return count.toString()
  }
} 
let invoker = outerFunc()
comsole.log(invoker())//1
comsole.log(invoker())//2

对象

作用:用于描述一个物体的特征和行为

对象:是一个可以存储多个不同类型数据的容器

interface Person{ //通过接口约定对象结构
  name:string
  age:number
  ismarry:boolean
} 
let p1: Person = {
  name:'小明',
  age: 6,
  ismarry: false
}
console.log(p1.name) //小明
console.log(p1.age) //6
console.log(p1.ismarry) //false

对象方法

interface Person{ //通过接口约定对象结构
  name:string
  age:number
  ismarry:boolean
  //定义方法的类型
  sleep:()=> void
  work:(what:string)=> void
} 
let p1: Person = {
  name:'小明',
  age: 6,
  ismarry: false,
  //
  sleep: ()=> {
    console.log('现在是小明的睡觉时间')
  },
  work:(what:string)=>{
    console.log('现在是小明的',what,'时间')
  }
}
p1.sleep() //现在是小明的睡觉时间
p1.work('写作业') //现在是小明的写作业时间

数组对象

let peopleArr: Person[] = [{...},{},{}......]
console.log(JSON.stringify(peopleArr))
console.log(JSON.stringify(peopleArr[1]))  //通过for of也可以进行遍历

联合类型Union

联合类型是一种灵活的数据类型,它修饰的变量可以存储不同类型的数据

语法:let 变量名:类型1 | 类型2 | 类型3 = 值

class Cat {
  // ...
}
class Dog {
  // ...
}
class Frog {
  // ...
}
type Animal = Cat | Dog | Frog | number
// Cat、Dog、Frog是一些类型(类或接口)

let animal: Animal = new Cat();
animal = new Frog();
animal = 42;
// 可以将类型为联合类型的变量赋值为任何组成类型的有效值

枚举类型Enum

枚举类型是一种特殊的数据类型,约定变量只能在一组数据范围内选择值

使用枚举常量时必须以枚举类型名称为前缀。

enum ColorSet { Red, Green, Blue }
let c: ColorSet = ColorSet.Red;

常量表达式可以用于显式设置枚举常量的值。

enum ColorSet { White = '0xFF', Grey = '0x7F', Black = '0x00' }
let c: ColorSet = ColorSet.Black;
console.log(c)

类型转换

1.字符串转数字

Number(num)、parseInt()、parseFloat()

无效时输出NaN

2.数字转字符串

num.toString()

num.toFixed():四舍五入转字符串,可设置保留几位小数

点击事件

说明:组件 被点击时 触发的事件

作用:监听(感知)用户 点击行为,进行对应操作

语法:onclick( (参数) => {})

页面链接:https://www.datazzh.top/archives/1065/2024/07/16/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇