Oto mój problem: otrzymuję ten błąd:TypeError w maszynopisie
Uncaught TypeError: Object prototype may only be an Object or null: undefined
export abstract class AbstractLogicExpression {
protected _logicChildExpressions: AbstractLogicExpression[] = Array();
protected _precedence = 0;
protected _parsed = false;
protected _expressionType = "";
protected rightAssociative = false;
public toDNF() {
for (let i = 0; i < this.logicChildExpressions.length; i++) {
let actualLogicExpression: AbstractLogicExpression = this.logicChildExpressions[i];
if (actualLogicExpression._expressionType == "~") {
let logicConjunction = actualLogicExpression.logicChildExpressions[0];
let var1 = logicConjunction.logicChildExpressions[0];
let var2 = logicConjunction.logicChildExpressions[1];
if (logicConjunction._expressionType == "*") {
actualLogicExpression.logicChildExpressions[0] = new LogicOr();
//actualLogicExpression.logicChildExpressions[0].add(new LogicNeg(var1));
//actualLogicExpression.logicChildExpressions[0].add(new LogicNeg(var2));
}
}
}
}
}
otrzymuję ten błąd, ponieważ na linii przed dwoma skomentował linie:
actualLogicExpression.logicChildExpressions[0] = new LogicOr();
Testowałem go przez komentarz i odkomentuj linie, ponieważ nie otrzymuję numeru linii w komunikacie o błędzie.
Czy ktoś wie, co mogę zrobić? Jeśli potrzebujesz trochę więcej kodu. Mogę pisać coś ...
Oto kod Logiczne LUB: https://pastebin.com/T28Zjbtb
Zgaduję, że coś jest nie tak z LogicOr. Czy możesz opublikować definicję tej klasy? A może to ma znaczenie? https://github.com/Microsoft/TypeScript/issues/14734 – dbandstra
Twoje prawo, jeśli zastąpię LogiOr z wartością null, błąd zniknie. Ale dlaczego? – leet
Czy importujesz go prawidłowo i czy jest prawidłowo dostarczany? Wydaje mi się, że klasa nie istnieje już w środowisku uruchomieniowym? – dbandstra