请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

static 函数,为何会存在this

static 函数,挂载在类上,为何会存在this?

正在回答 回答被采纳积分+3

5回答

Dell 2020-02-02 11:08:22

我没有用this吧?你代码截图我看下

1 回复 有任何疑惑可以回复我~
Dell 2020-02-08 23:52:16

回复各位,我这快代码疏忽了,不应该用this,应该用Demo.instance,诸位改一下代码

0 回复 有任何疑惑可以回复我~
提问者 qq_南国雁_0 2020-02-03 09:53:24


https://img1.sycdn.imooc.com/szimg/5e377d02089245ce10800540.jpg
@dell

0 回复 有任何疑惑可以回复我~
init_center 2020-02-02 14:47:45

这个在Javascript和Typescript中是可以的,因为ES6中的class本身只是function的语法糖,所以:

class Demo {
    static getThis() {
        return this    
    }
}
// 就是下面的语法糖写法

function Demo() {

}

Demo.getThis = function() {
    return this
}

而getThis的this指向很显然就是Demo这个函数,在ES6中也就是Demo这个类本身。

0 回复 有任何疑惑可以回复我~
  • 我也觉得这样写是可以的,不知道老师是不是刻意想把TS和JS区分成两种完全不同的语言。
    回复 有任何疑惑可以回复我~ 2020-02-13 16:38:07
提问者 qq_南国雁_0 2020-02-02 08:56:22

这里的this指向的是getInstance函数,而不是demo实例吧?那么是不是不需要privade static instance?

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信