【鸿蒙应用ArkTS开发系列】- 常量类定义和使用

本篇为入门基础知识介绍,作为代码学习记录使用,请选择性阅读。

一、常量类定义

在ArkTS中,定一个常量很简单,具体如下:

export  const TAB_HOME_INDEX : number = 1;

export  const TAB_HOME_NAME : string = "首页";

使用const修饰,然后使用export对外导出即可,这种方式是完全可以满足我们使用的,但是在项目业务复杂的时候,没有明显模块区分的常量定义散落的分布在项目之后,会不太好管理,所以采用面向对象技术开发的时候,我们习惯于使用定义成类的方式,然后在类中定义对应的常量。

那怎么定义一个类对象呢,往下看,定义一个ts文件,输入如下内容:

export class Tab {

     

}

很简单的几句话,但是当我们要在class中使用const关键字的时候,你会发现编译器会出现错误提示, A class member cannot have the 'const' keyword. <tsCheck>。

意思很明显,就是无法在类中使用const关键字,那应该怎么办呢,在TypeScript2.0后,为我们提供了另外一个关键字,就是 readonly,使用该关键字,被修饰的字段就不可以进行写操作。

export class Tab {

    readonly TAB_HOME_INDEX : number = 1;

}

上面定义实际使用还是有问题,在下一部分接着讲!

二、常量类引用

那怎么引用这个常量类呢,在需要使用Const的ts中,使用下面语句进行代码引入,

import { Tab } from '../common/Const'

但是在调用的时候,找不到定义的常量


只需要使用public修饰常量即可,

export class Tab {

    public readonly TAB_HOME_INDEX : number = 1;

}

但是因为我们引入的是TAB类,如果要使用TAB_HOME_INDEX,需要创建TAB对象,

aboutToAppear() {

   let tab = new Tab();

   tab.TAB_HOME_INDEX

 }

这样使用又过于繁琐,如果可以直接使用类名引用就好了,其实也是可以,在TypeScript中也是支持static修饰符的,那么完整的的定义如下:
创建一个ts文件,命名为Tab(类型可随意),在文件中定义如下代码:
 

export class Tab {

    public static readonly TAB_HOME_INDEX : number = 1;

}

引用常量类使用方式如下:

aboutToAppear() {

  let tabIndex = Tab.TAB_HOME_INDEX;

}

本文到此结束,谢谢阅读。

猜你喜欢

转载自blog.csdn.net/q919233914/article/details/130243309