Как написать код машинописи таким образом, чтобы вывод был похож

#javascript #html #typescript #web-applications #ecmascript-5

Вопрос:

 class Test {
    otherFunction() {}
    method() {
        this.otherFunction();
    }
}
 

Приведенный выше машинописный текст будет генерировать ES5 js следующим образом

 var Test = /** @class */ (function () {
    function Test() {
    }
    Test.prototype.otherFunction = function () { };
    Test.prototype.method = function () {
        this.otherFunction();
    };
    return Test;
}());
 

Как получить вывод, подобный приведенной ниже функции, после компиляции машинописного текста?

 var Test = (function() {
    function Test() {}

    function otherFunction() {}

    Test.prototype.method = function () {
        otherFunction();
    }

    return Test;

})();
 

Комментарии:

1. Это похоже на то, что будет выведено, если вы нацелитесь на более раннюю версию ES в своем tsconfig.json

2. Вы имеете в виду, что такое TS-эквивалент этого?

3. « тест класса { Другая функция() {} метод() { эта.Другая функция(); } } « приведенный выше код сгенерирует ниже js « var Тест = /** @класс */ (функция () { функциональный тест() { } Тест.прототип.Другая функция = функция () { }; Тест.прототип.метод = функция () { эта.Другая функция(); }; возвращаемый тест; }()); « чего не ожидается. мне нужно вот так « var Тест = (функция() { функциональный тест() {} функция Другая функция() {} Тест.прототип.метод = функция () { Другая функция(); } возвращаемый тест; })(); «

Ответ №1:

Скомпилируйте этот

 (function () {
  function Test() {}

  function otherFunction() {}

  Test.prototype.method = function () {
    this.otherFunction();
  };

  return Test;
})();
 

Он будет генерировать

 (function () {
    function Test() { }
    function otherFunction() { }
    Test.prototype.method = function () {
        this.otherFunction();
    };
    return Test;
})();

 

Комментарии:

1. Спасибо вам за ваш ответ. Но, во-первых, код не в машинописном виде, это javascript. В вопросе, если вы проверите, что первый фрагмент является машинописным, будет сгенерирован второй. но мне нужен код машинописи, который генерирует код, подобный третьему.