本文最后更新于 446 天前,其中的信息可能已经有所发展或是发生改变。
ArkTS
数据类型
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( (参数) => {})
