this的使用非常灵活,但这种灵活性也带来了很多混乱。这里的bind(this)是为了改进javascript语言级的缺陷,并不是只有React中才需要这样做,这个问题是伴随着面向对象编程而产生的,在使用javascript进行插件和框架的开发时,这个问题的影响会更加明显。之所以说它是一个语言级的缺陷,是因为Java中对于this在同样场景下的指向更符合正常思维逻辑,而javascript中如果不显示绑定,就会出现语言运行结果和方法的命名表意不一致的情况。
关于this更详尽的分析,可以参考笔者的博文《javascript基础修炼系列-What's this》上下篇(链接地址)。
参考[1]《ES6-Class基本语法》https://www.cnblogs.com/ChenChunChang/p/8296350.html