• class类的常用基础用法


    背景

    我们中工作或者生活中或多或少的听说过class类,那么class到底怎么使用呢?常用的使用又是什么呢?今天我就给大家简单的说一下常用的以及怎么使用等等;如果你想了解很细很细的话,Class 的基本语法 点击这里看文档,哈哈哈...

    常用语法

    类中常用的方法有一下几个:

    • private 只能内部使用
    • constructor 方法
    • static 静态属性

    private

    我们可以通过以下的实例中可以看到,当我们在使用day.str的时候会报错的Unexpected identifier(意外的标识符),如果你是用ts写的你在写的时候就会给你提示了(属性“str”为私有属性,只能在类“Day”中访问。)。

    错误使用

    ```typescript class Day { // 只能内部使用 private str:string; name:string = '张三' }

    const day = new Day(); console.log(day.str); console.log(day.name); ```

    正确使用

    ```typescript class Day { // 只能内部使用 private str:string = 'private';

    setStr() { return this.str; } } const day = new Day();

    console.log(day.setStr()); // 返回:private ```

    constructor

    从这儿可以看出,类可以通过 constructor值传递进去,然后通过方法返回或者处理相关数据等等。。。

    ```typescript class Day { // 只能内部使用 private str:string = 'private';

    constructor(str:string) { this.str = str; }

    setStr() { return this.str } } const day = new Day('constructor');

    console.log(day.setStr()); // 返回:constructor ```

    static

    static 是一个静态方法,不能通过实例创建在其内部也不能使用this。

    ```typescript class Day { // 只能内部使用 private str:string = 'private';

    constructor(str:string) { this.str = str; }

    setStr() { return this.str }

    static getStr() { return 'static'; } } const day = new Day('constructor');

    console.log(Day.getStr()); // 返回:static ```

    示例

    我们可以做一个简单的加减方法;仅供参考; 我发现类中有get和set方法,如果你想多个操作然后获取最后的结果值的话;可以通过get去封装操作。大家可以根据自己的使用场景去封装搭建自己需要的。

    ```typescript class Day { total:number = 30;

    constructor(total:number = 30) { this.total = total; }

    add(num:number) { this.total = this.total + num; return this.prop; }

    reduce(num:number) { this.total = this.total - num; }

    get prop () { return this.total; } } const day = new Day(); console.log(day.add(30)); // 60

    day.add(30); day.reduce(20);

    console.log(day.prop); // 70 ```

    总结

    我最开始对类并不是很了解,自己写了几个dome之后发现还挺好的,貌似队列就可以用类的方法来实现,等我研究研究。下期给大家带来队列的实现方式。

  • 相关阅读:
    远程预付费系统在建设公寓民生保障项目的研究与应用
    为UE和Unity开发者准备的Godot指南
    云安全—kubelet攻击面
    人人自媒体的时候,Ai绘画还值得踏入吗?
    面试打底稿⑤ 项目一的第一部分
    JCE cannot authenticate the provider BC
    瑞吉外卖强化(一):缓存优化
    cocos小游戏实战-04-碰撞检测与NPC渲染
    前端食堂技术周刊第 42 期:Vue 2.7 Beta、TS 4.8 Beta、React 开源奖、ECMAScript 2022
    MPLS BGP virtual private network OptionC实验
  • 原文地址:https://blog.csdn.net/weixin_50307964/article/details/132979647