I have existing javascript code and I would like to call some new code that is written in typescript an compiled to javascript. I write simple function and from that function I try to instantiate new class. But I get error:
Uncaught ReferenceError: Cannot access 'Test' before initialization
at runTest (test.ts:16)
Code is as follows:
Test.ts:
class Test
{
constructor(){}
render()
{
alert("Render!");
}
}
export function runTest()
{
let t= new Test();
t.render();
}
This is compiled js:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.runTest = void 0;
class Test {
constructor() { }
render() {
alert("Render!");
}
}
function runTest() {
let t = new Test();
t.render();
}
exports.runTest = runTest;
//# sourceMappingURL=test.js.map
main.js: has some function that calls runTest().
Also in index.html there is reference to both files:
<script type = "text/javascript" src = "script/test.js"></script>
<script type = "text/javascript" src = "script/main.js"></script>
It fails calling new Test()...
Everything in function works, just I can not instantiate any class. It fails with same error.
Initialization? When does class initialize? It is declared before call. Any Idea?
question from:
https://stackoverflow.com/questions/65865108/javascript-can-not-access-class-before-initialization 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…