ES6中static关键字使用_es6 static get(1)

// 成功调用方法
//b.say();
// 调用static修饰的方法
b.desc();


代码竟然报错了!!!这个方法不能被实例化后的对象调用


![](https://img-blog.csdnimg.cn/img_convert/6525d366b4ef3b9f41c3bd651b0deea5.png)


不要着急,来来让我们一起揭开static神秘的面纱


**敲黑板了,凡是被static修饰的属性和方法都是静态方法和属性,只能被类名调用,不能被实例化对象调用.同时也不能被子类继承,换句话说它属于当前这个类的**.


![](https://img-blog.csdnimg.cn/img_convert/e751e6aeb0795d4ca6fd0f9439038faf.png)


#### **基本使用**


使用static修饰属性和方法



class A {
  // 静态属性
  static info = '见过你的美,还能爱上谁?';
  // 静态方法
  static love() {
    console.log('小姐姐,看见你就犯困,为情所困,为你所困!');


}
}
// 直接使用类名调用
console.log(A.info);
A.love();


结果


![](https://img-blog.csdnimg.cn/img_convert/8e8206bf47998f1575db37b53b76fa07.png)


在普通的方法中使用,静态属性和静态方法,也必修使用类名进行调用



class A {
// 静态属性
static info = ‘见过你的美,还能爱上谁?’;
// 静态方法
static love() {
console.log(‘小姐姐,看见你就犯困,为情所困,为你所困!’);

}
// 普通方法,调用静态属性
say() {
console.log(‘小姐姐,’ + A.info);

}
}


![](https://img-blog.csdnimg.cn/img_convert/1f8217e3f7af83d37097cb1a5558e194.png)


也可以在普通方法中修改静态属性的值,使用类名直接调用即可


#### **能被继承**


extends的主要用于子类继承父类,继承之后子类拥有父类的的所有方法包括,静态方法和属性除外.



class A {
// 静态属性
static info = ‘见过你的美,还能爱上谁?’;
// 静态方法
static love() {
console.log(‘小姐姐,看见你就犯困,为情所困,为你所困!’);

}
// 普通方法,调用静态属性
say() {
console.log(‘小姐姐,’ + A.info);

}
}
class B extends A {
run() {
console.log(‘类B的方法…’);
}
}
//使用类名 父类中普通方法调用
B.love();


![](https://img-blog.csdnimg.cn/img_convert/f7f2a42f98eebf6de4feb05739c9b1ed.png)


#### **注意点**


**如果静态方法包含this关键字,这个this指的是类,而不是实例。**



class A {
  // 静态属性
  static info = '见过你的美,还能爱上谁?';
  // 静态方法
  static love() {
    //  console.log('小姐姐,看见你就犯困,为情所困,为你所困!');
    console.log(this);

    // 静态类中调用普通方法
    this.say();

  }
  // 普通方法,调用静态属性
  say() {
    console.log('小姐姐,' + A.info);

  }
}

A.love();

![](https://img-blog.csdnimg.cn/img_convert/c78a8a340629f575b7caa547cba3f283.png)


分析:


上面代码中,静态方法`love`调用了`this.say()`,这里的`this`指的是`A`类,而不是`A`的实例,等同于调用`A.say()`。


静态方法和普通方法是可以重名的,因为他们不属于同一个对象,像这样!




## 写在最后

**在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。**


需要完整版PDF学习资源私我



  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值