ES6中静态成员和私有成员的用法

静态成员

静态成员创建
  • 静态成员包括静态属性和方法,它不属于实例化的对象,使用时也不需要实例化
  • 需要修饰符static修饰
class person{
	static age = "我是静态属性"//静态属性
	constructor(name){
		this.name = name
		
	}
	//静态方法
	static fn(){
		console.log("我是静态方法")
	}
}

console.log(person.age)
person.fn()

输出结果

我是静态属性
我是静态方法

私有成员

私有成员创建

私有成员包括私有属性私有方法

class person{
	#age = "我是私有属性"//静态属性
	constructor(name){
		this.name = name
		
	}
	//私有方法
	#fn(){
		console.log(`我是私有方法,${this.#age}`)
	}
	func(){
		this.#fn()
	}
}

let res = new person("张三")
res.func()

console.log(person.#age)
person.#fn()
我是私有方法,我是私有属性

报错:Uncaught SyntaxError: Private field '#age' must be declared in an enclosing class

私有属性和方法只能在内部调用,外部不能调用私有成员

ES6属性设置

class person{
	height = "178cm"//方式二
	constructor(name,age){
		this.name = name//方式一
		this.age = age
	}
	get myage(){//方式三
		console.log("获取到了age")
		return this.age
	}
	set myage(newage){
		console.log("设置了age")
		this.age = newage
	}
}

let zhangsan = new Person("张三","18");
console.log(zhangsan);

输出结果

{height: '178cm', name: '张三', age: '18'}

万万语录

2022.11.21
想把吴老师大门牙敲掉,我写烦了他眦个大牙笑我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值