首页 > 其他分享 >ES6中的class浅谈

ES6中的class浅谈

时间:2024-02-21 15:22:18浏览次数:33  
标签:info ES6 静态方法 浅谈 age work class name

在 ES6 中引入了类(class)的概念,让 JavaScript 更加接近传统面向对象编程语言。类提供了一种用于创建对象的模板,其中包含了属性和方法的定义。

1.定义类

使用 class 关键字可以定义一个类,类名通常以大写字母开头。

 

 1  class Person {
 2 
 3 
 4     constructor(name,age,work){
 5         this.name = name;
 6         this.age = age;
 7         this.work = work;
 8     }
 9 
10     info(){
11         console.log(`我叫${this.name},我今年${this.age}岁,我的工作是${this.work}`)
12     }
13  }

 

在上面的例子中,我们定义了一个 Person 类,包含了构造函数 constructor 和一个 info 方法。构造函数用于初始化对象的属性,而方法则用于定义对象的行为。

 

2.创建对象实例

通过 new 关键字可以实例化一个类,创建对象实例

 let red = new Person('小红','18','teacher')
 red.info() //我叫小红,我今年18岁,我的工作是teacher

在这个例子中,我们使用 Person 类创建了一个名为 red 的对象实例,并调用了 info 方法。

3.继承

ES6 的类支持继承,可以通过 extends 关键字实现类之间的继承关系。

 class Lawyer extends Person {
    constructor(name,age,work,wage){
        super(name,age,work)
        this.wage = wage
    }
    info(){
        console.log(`我叫${this.name},我今年${this.age}岁,我的工作是${this.work},我的年薪是${this.wage}`)
    }
    
 }
 let blue = new Lawyer('小蓝','33','lawyer','20w')
blue.info() //我叫小蓝,我今年33岁,我的工作是lawyer,我的年薪是20w

在这个例子中,Lawyer 类继承自 Person 类,使用 super 关键字调用父类的构造函数,并添加了一个新的 info 方法。

4.静态方法

ES6 的类还支持静态方法,可以通过 static 关键字定义一个静态方法,静态方法属于类本身而不是实例。

 

class Test {
    static testStatic(a,b){
        a=a+b;
        b= a-b;
        console.log(a,b)

        return a*b
    }
}

const number = Test.testStatic(5,2)
console.log(`number:${number}`)

 

在这个例子中,Test类包含了一个静态方法 testStatic,可以直接通过类名调用。

 

总的来说,ES6 的类提供了一种更加清晰和易用的面向对象编程方式,使得 JavaScript 更加灵活和可维护。通过类的定义、继承和静态方法,我们可以更好地组织和管理代码,提高代码的复用性和可读性。

 

标签:info,ES6,静态方法,浅谈,age,work,class,name
From: https://www.cnblogs.com/qinlinkun/p/18025289

相关文章

  • 浅谈筛法
    浅谈筛法Euler筛Eratosthenes筛可以证明(不是“不难证明”),Eratosthenes筛的复杂度为\(\Theta(n\log\logn)\)。Eratosthenes筛的复杂度证明Dirichlet前缀和以P5495【模板】Dirichlet前缀和为例。给定\(a_1,a_2,\cdots,a_n\),求\(b_1,b_2,\cdots,b_n\),满足\[b_i......
  • Caused by: java.lang.ClassNotFoundException: com.qcloud.cos.auth. 类找不到异常
    java.lang.ClassNotFoundException 表示在运行时找不到指定的类。在这种情况下,缺少了 com.qcloud.cos.auth 包中的类。请确保项目中包含了腾讯云 COS SDK 相关的依赖,并且这些依赖能够正确加载。检查项目的依赖配置,确保包含了腾讯云 COS SDK 相关的依赖。 腾讯云contr......
  • Type information 反射信息 Type指一个对象的种类,某种自定义的class,某个interface或st
    Typeinformation反射信息Type指一个对象的种类,某种自定义的class,某个interface或string等,都是type的一种。 (本文参考了Thinkinginjava中的typeinformation这章)什么是TypeinformationType指一个对象的种类,某种自定义的class,某个interface或string等,都是type的一......
  • 在script标签写export为什么会抛错|type module import ES5 ES6 预处理 指令序言 JavaS
    今天我们进入到语法部分的学习。在讲解具体的语法结构之前,这一堂课我首先要给你介绍一下JavaScript语法的一些基本规则。脚本和模块首先,JavaScript有两种源文件,一种叫做脚本,一种叫做模块。这个区分是在ES6引入了模块机制开始的,在ES5和之前的版本中,就只有一种源文件类型(就......
  • 浅谈集合幂级数
    叠甲:读者很菜。集合幂级数是一个很厉害的东西。我们对于是有限集的全集\(\mathbb{U}={1,2,\dotsn}\),我们利用占位符\(x^S\)来表示一个序列\(f\),其中对于\(S\subseteq\mathbb{U}\)的值为\(f_S\)。一般记为\(F=\sum\limits_{S\subseteq\mathbb{U}}f_Sx^S\)。对于占位......
  • 浅谈iPaaS对企业转型的重要性
    面对数字化转型的大浪潮,众多企业都期望着能快速实现全面的数字化转型,让企业在日益激烈的竞争中拥有更稳的市场地位,提升自身的实力及能力,奠定更坚实的基底。但在数字化转型过程中,部分企业数字化基础水平较薄弱,集成方面更多的是采用传统的集成方式,集成结构单一、功能间不能复用、往......
  • JDK21报错 java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTre
    JDK21报错java:java.lang.NoSuchFieldError:Classcom.sun.tools.javac.tree.JCTree$JCImportdoesnothavememberfield'com.sun.tools.javac.tree.JCTreequalid'Lombok版本兼容性的问题导致Maven依赖改为新版本<dependency><groupId>org.projectlombok&l......
  • 迎龙年浅谈 Binary Indexed Trees
    什么是BinaryIndexedTrees?就是树状数组啦。树状数组,是一种高级数据结构,用于高效地解决某一类问题。那么这一类问题是什么呢?那么让我们一起来看一下:问题引入给定一个序列\(a\),给定\(Q\)个\(l,r\),求\(\sum_{i=l}^ra_i\)。这一类问题,我们明显可以暴力枚举,时间复杂度为......
  • 5分钟搞懂Ingress / IngressController / IngressClass的区别
    本文5分钟大白话说明白Ingress、IngressController、IngressClass的概念和区别,然后结合实践加深理解。先来个一句话总结:Ingress由Ingress规则、IngressController、IngressClass这3部分组成。Ingress资源只是一系列路由转发配置,必须使用IngressController才能让路由规则生效,而I......
  • 大白话说明白K8S的PV / PVC / StorageClass(理论+实践)
    本文主要通过大白话说明白PV、PVC的概念和原理,再说说StorageClass的作用,最后通过实践加深理解。先来个一句话总结:PV、PVC是K8S用来做存储管理的资源对象,它们让存储资源的使用变得可控,从而保障系统的稳定性、可靠性。StorageClass则是为了减少人工的工作量而去自动化创建PV的组......