Ваша проблема не в том, что вы используете TypeScript, а в том, что вы используете функции стрелок.
Функции стрелок автоматически связывают this
с this
, где определена функция.
Поскольку все они используют функции стрелок, ваш this
- это this
, найденный на глобальном уровне, который либо global
вне строгого режима, либо undefined
в строгом режиме.(Поскольку вы используете модули ES, по спецификации вы автоматически находитесь в строгом режиме)
import 'mocha';
describe("top", function() {
console.log(this.title);
console.log(this.fullTitle());
it("test", function() {
console.log(this.test.title);
console.log(this.test.fullTitle());
});
});