因为其实从代码的层面来看,它最终都被转换成了 JS 代码。
这是否就意味着在静态方法中可以通过 this.prototype 访问到类的原型对象空间呢,那么这样一来即使外部不能通过创建新的实例去访问原型对象,也可以通过类暴露出的静态方法去操作原型对象空间。
那么要如何去理解静态方法只能访问静态属性呢?它也是能够通过 「this.prototype.原型对象空间上的方法」去访问原型对象空间的呀
这是否只是一种主观意义上的描述呢?为了让同学们更好的理解静态成员而做的一种定义呢?
以下是关于此问题的代码补充及运行截图
interface ItfcStorage {
[key: string]: any
}
class LStorage {
storage!: ItfcStorage
setstorage(key: string, val: string) {
if (!this.storage) this.storage = {}
this.storage[key] = val
}
getstorage(key: string) {
console.log(this.storage)
return this.storage[key]
}
static setItem(key: string, val: string) {
this.prototype.setstorage(key, val)
}
static getItem(key: string) {
return this.prototype.getstorage(key)
}
}
LStorage.setItem('name', 'Tom')
const result = LStorage.getItem('name')
console.log('result=>', result)