首页 > 解决方案 > 为什么在旧的 JavaScript 开发人员中将“this”称为“_this”

问题描述

我现在正在阅读打字稿输出。它将现代 ES21 转换为旧版本。我想知道为什么会这样,我的意思是为什么开发人员过去常常创建一个完整的变量_this并将其设置为this关键字。就像放置this而不是创建新变量更容易......有什么想法吗?

输入(打字稿)

const Singleton = () => {
  
  if (Singleton._instance) return Singleton._instance;

  Singleton._instance = this;

  return this;
};

const a = new Singleton();
const b = new Singleton();

console.log(a === b);

输出 (JavaScript)

// BUT WHY ?
var _this = this;

var Singleton = function () {
    if (Singleton._instance)
        return Singleton._instance;
    Singleton._instance = _this;
    return _this;
};
var a = new Singleton();
var b = new Singleton();
console.log(a === b);

标签: javascripttypescriptthisecma

解决方案


推荐阅读