Ich habe eine Klasse exportiert, um einen Punkt in einem Gitter darzustellen. Diese Klasse hat eine "Distanz" -Methode.NodeJS: exportierte Klasse hat eine Methode, die undefined zurückgibt
Wenn ich diese Methode in einer anderen nodeJs-Datei verwende, ist das Ergebnis immer Undefined. Ich kann nicht verstehen warum.
Hier ist meine Quellcode:
const math = require('Math')
function checkCoordinate(x) {
if ((typeof x == 'number') &&
(x > 0) && (x % 1 == 0)) {
return x
}
else throw (new Error('ERR_INVALID_ARG_TYPE'))
}
/**
* Build a new square for a grid
* @class
* @classdesc Represent a square in a grid
*/
class square {
constructor (abscissa, ordinate) {
try {
this.abscissa = checkCoordinate(abscissa)
this.ordinate = checkCoordinate(ordinate)
} catch (err) {
throw (err)}
}
distance (square2) {
if (square2 instanceof square)
return
math.ceil (
math.sqrt(
math.pow((this.abscissa-square2.abscissa), 2) +
math.pow((this.ordinate-square2.ordinate), 2)
)
)
throw (new Error('ERR_INVALID_ARG_TYPE'))
}
}
module.exports = square
Wenn ich versuche, es zu benutzen:
var Square = require ('./objects/square.js')
var sA = new Square(1,1)
console.log(sA.distance(new Square(20,20)))
Das Ergebnis ist nicht definiert:
$ npm start
> [email protected] start D:\Documents\Programmation\NodeJS\target-rpg
> node server.js
undefined
I 27. Stattdessen bekommen sollte Ich habe Undefined. Ich kann es nicht herausfinden.
Ich benutze Knoten 8.1.4
Irgendwelche Hilfe?
Oh. Es beweist, dass meine Dummheit keine Grenzen hat. Danke Mukesh –