ArkTs入门到入土

一. ArkTS-语法基础

1.开发环境

DevEco Studio支持Windows系统和macOS系统,在开发应用/服务前,需要配置应用/服务的开发环境。环境配置流程:下载软件 → 安装软件并配置 → 创建工程并运行。

2.基础入门

ArkTs:是一门用于开发鸿蒙应用的编程语言

编程语言:用来控制计算机工作的,可以告诉计算机我们要做的事情

编写代码 → 编译运行 → 查看效果

2.1输出语句

写法:console.log('消息说明','打印的内容')

console.log('我说','hello world')
​
注释:
1. 单行注释 // 注释内容,快捷键: Ctrl +/
2. 块注释 /* 注释内容*/,快捷键:Ctrl + Shift + /

3.认识和存储数据

3.1认识数据

编程语言的核心是处理数据

三种常见的基础数据类型:

string:字符串:描述信息 (要用引号引上)

number 数字:计算

boolean 布尔:判断(真,假)

3.2存储数据
变量

变量:专门用来存储数据容器(可变)

写法 let 变量名 :类型 = 值

// let 变量名 :类型 = 值
// string 类型
let name : string = 'syb'
console.log('我的名字',name)
// number 类型
let age : number = 22
console.log('我的年龄',age)
// boolean类型
let sex: boolean = true
console.log('你是男的吗',isLogin)
​
//变量是可以修改的
age = age+10
console.log('十年以后的名称',age)
常量

常量:用来存储数据(不可变)

写法 const 常量名 : 类型 = 值

const PI : number = 3.14
console.log('π的值是',PI)
​
const companyNam = '华为'
console.log('我公司的名字是',companyNam)
命名规范
  1. 只能包含数字,字母,下划线,$,不能以数字开头

  2. 不能使用内置关键字或者保留字 (比如 let , const)

  3. 严格区分大小写

4.数组

数组:数组是一个容器,可以存储多个数据

let 数组名字 :类型 = [值,值,值]

let names :string[] = ['小王','小李','小狗','小宋']
​
// 注意:数组指定的类型和存储的数据类型必须要一致,否则会报错
4.1 获取数组元素
console.log('数组里面的人',names)
console.log('我想要小王',names[0])
4.2 获取数组长度
数组名字+ .length
console.log('数组长度',names.length)

5.函数

函数:是可以被重复使用的代码块

函数可以把具有相同或者相似逻辑的代码“包裹”起来,有利于代码复用

5.1 函数的基本使用

先定义后调用

function 函数名() { 函数体 } 函数名()

//定义函数
function star() {
  console.log('五角星', '☆')
  console.log('五角星', '☆☆')
  console.log('五角星', '☆☆☆')
  console.log('五角星', '☆☆☆☆')
  console.log('五角星', '☆☆☆☆☆')
} 
//调用函数
star()
5.2 完整写法

根据我们传入不同的数据,进行处理返回处理后的结果

function 函数名 (需要处理的数据) {

编写代码对数据进行处理

return 处理后的结果

}

let 变量名:类型 = 函数名(实际要处理的数据)

  • 形参:真实数据(函数调用时候的传入的真实数据)

  • 形参:形式上的参数(函数定义时候写的参数)

/*
 * 需求1:简易的计算器
 * 需求2:加法
 * */
function num(num1:number,num2:number) {
    let sum = num1 + num2
    return sum
}
let result:number = num(2,3)
console.log('相加的结果为',result)
5.3 函数的可选参数

函数在定义的时候,设置了形参入口,但是在调用的时候并不是任何时候都需要传入实参数据,为了避免报错,我们可以将形参设置为可选参数, 或者给形参设置一个默认值

5.3.1. 可选参数-- ? 形式
  • 语法: 形参 -- name?: Type

    • name: 形参名称

    • ? : 表示可有可无

    • Type: 接收数据的类型

function sum(a:number,b?:number) {
    // undefined 因为 b 没有数值
 let sum1:number = a+b
  renturn sum1
}
sum(1)
5.3.2. 可选参数 -- 默认值

在一些情况下,形参的数值不能为 undefined, 否则容易引起程序的崩溃, 比如求两个数据之和, 形参的数值就不能为undefined, 否则其计算的结果不能使用到业务逻辑当中.

这时候就需要使用到默认值的形式了

  • 语法: num: number = 2

function sum(x: number, y: number = 0) {
  let res: number = x + y
  return res
}

console.log('结果是', sum(1, 2))
console.log('结果是', sum(1))
5.4 箭头函数

箭头函数是 比普通函数 更简洁 的一种函数写法

let 函数名 = (形参1: 类型, 形参2: 类型) => {
  // 函数体
  // 1. 计算过程
  // 2. 返回结果
  return 计算的结果
}
函数名(实参1, 实参2)

示例代码

// 1. 基本写法
let star = () => {
  console.log('五角星', '☆')
  console.log('五角星', '☆☆')
  console.log('五角星', '☆☆☆')
  console.log('五角星', '☆☆☆☆')
  console.log('五角星', '☆☆☆☆☆')
}
star()
star()
// 2. 参数与返回值
/*
 * 需求1:苹果 2元/斤,买3斤需要多少钱?
 * 需求2:香蕉 4元/斤,买4斤需要多少钱?
 * */

let buy = (price: number, weight: number = 1) => {
  let result: number = price * weight
  return result
}
let apple: number = buy(2)
console.log('苹果', apple)
let banana: number = buy(4, 4)
console.log('香蕉', banana)

6.对象

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

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

键值对:属性名: 属性值 (k,v)

6.1 对象-定义&使用

let 对象名称 : 对象结构类型 = 值

  1. 通过interface接口约定 对象结构类型

interface 接口名 {
  属性1: 类型1
  属性2: 类型2
  属性3: 类型3
}
interface Person {
  name: string
  age: number
  weight: number
}
  1. 定义对象并使用:对象名.属性名

// 1. 定义接口
interface Person {
  name: string
  age: number
  weight: number
}

// 2. 基于接口,定义对象
let ym: Person =  {
  name: '杨幂',
  age: 18,
  weight: 90
}

console.log('名字', ym.name)
console.log('年龄', ym.age)

let lss: Person =  {
  name: '刘诗诗',
  age: 19,
  weight: 88
}

console.log('名字', lss.name)
console.log('年龄', lss.age)
6.2. 对象-方法

方法作用:描述对象的具体行为

  1. 约定方法类型

interface 接口名称 {
  方法名: (参数:类型) => 返回值类型
}

interface Person{
  dance: () => void
  sing: (song: string) => void
}
  1. 添加方法(箭头函数

let ym: Person = {
  dance: () => {
    console.log('杨幂说', '我来跳个舞')
  },
  sing: (song: string) => {
    console.log('杨幂说', '我来唱首', song)
  }
}
// 对象名.方法名(参数)
ym.dance()
ym.sing('爱的供养')

7.联合类型

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

// let 变量: 类型1  |  类型2  |  类型3 = 值
let judge: number | string = 100

judge = 'A+'
judge = '优秀'

console.log('年终考试评价', judge)
// 联合类型可以将变量值约定在一组数据范围内进行选择
let gender: 'man' | 'woman' | 'secret' = 'secret'

8.枚举类型

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

// 联合类型 不方便
'#ff0f29' | '#ff7100' | '#30b30e' 

枚举方便:定义枚举类型(常量列表)

enum 枚举名 {
  常量1 = 值,
  常量2 = 值,
  ......
}
// 1. 定义枚举 (定义常量列表)
enum ThemeColor {
  Red = '#ff0f29',
  Orange = '#ff7100',
  Green = '#30b30e'
}

// 2. 给变量设定枚举类型
let color: ThemeColor = ThemeColor.Orange
console.log('color', color)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值