再识ARKTS

//1.变量的声明
import { Type } from '@ohos.arkui.StateManagement';

let str1:string='你好'
//自动推导数据类型
// str2=123 ;// 变量的数据类型,不能改变
//不允许使用var声明
//const声明的是常量,只能赋值一次
const str3:string='123';
//str3='234'
//数据类型
// 1.number
let num1:number=123;//10进制
let num2:number=0B1;//2进制
let num3:number=0o17;//8进制
let num4:number=0xfac;//16进制

let str5:string='hello word';
let str6:string="hello word";
let str7:string=`hello word${num1}`;

//Object 是所有类型的基础类,也就是所有类的父类
let ob:Object='123'

//枚举
enum sex{
  男,女
}
let sex1:sex=sex.女;
let sex2:sex=1;

class dog{
  play(){
    console.log('狗')
  }
}
class cat{
  play(){
    console.log('猫')
  }
}
class penguin{
  play(){
    console.log('企鹅')
  }
}
//pet 是联合类型
type pet=dog|cat|penguin
let p1:pet=new dog();
p1.play()
// let a:any='111'
// let a;
let a:null=null;
let a2:undefined=undefined;
let a3:string;
//number.string.boolean.enum.union.null.基本类型
// void.undefined.ailases  复合类型
// array.object
type fun=(a:string)=>string

export  class Err{
  static add(a:number,b:number):number{
    if(!b){
      // 抛出异常
      throw new Error('除数不能为0')
    }
    return a/b
  }
}
export  function tryCatch(){
  let aaa:number=0;
  try {//有可能出现问题的代码
   aaa=  Err.add(1,0)
  }catch (e){//出现问题后解决办法  e--错误信息
    console.log(e)
  } finally {//异常的最终处理方案
    //不管有没有出现异常都会执行
    return aaa;
  }

}

function  abc(){
  //无参函数,并且没有返回值
}
function abc1():string{
  // 除了void和any,必须有返回值
  return 'jjj'
}
function  abc2():void{
  // viod:没有返回值
}
function abc3(x:number,y:number){
  if (x > 0) {
    return x+y;
  }else{
    return '你好'
  }
}
let abcd:number|string=abc3(2,4)

export function getName(name?:string){
  return name;
}
//可选参数放在最后
function getAge(name?:string,sex?:string){
  if (name) {
    return `${name}${sex}`
  }
  return `无名${sex}`
}
// b默认值是3
function add(a:number,b:number=3){
  return a+b;
}
let a1=add(2,6)
let a22=add(2);

//rest参数 不确定数量的参数
function ages(name:string,...ages:number[]){
  console.log(`${name}班有${ages.length}`)
  let sum=0;
  for(let el of ages){
    sum+=el
  }
  console.log(`年龄总和:${sum},平均数${sum/ages.length}`)
  return sum/ages.length
}
let avgAge=ages('鸿蒙',12,13,14,15,19)
//有void就不能有返回值
function vo():void{
}
let ab1=10
function ab(){
  let ab1=11
  return ab1+10;
}
//使用函数作为参数
type  fc=(str:string)=>string  //对字符串进行处理并返回

function syfc(f:fc){
  f('王文龙')
}
function cl(str:string){
  return str+'不是人'
}
function aaa(){}
let str33=syfc(cl);

function lam(x:number,y:number){
 return x+y
}
let lam1=(x:number,y:number)=>{return x+y}
lam1(1,2)
let lam2=(x:number,y:number)=>x+y
//{}省略,必须只有一行代码
//()无法省略
let lam3=(x:number,y:number)=>{
  return x+y
}
function abc5():()=>number{
  let a=0;
  let g=():number=>{return a++}
  return g;
  // return abc5();
}
let abc6=abc5()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值