0
グリッド内のポイントを表すクラスをエクスポートしました。このクラスには「距離」メソッドがあります。NodeJS:エクスポートされたクラスに未定義のメソッドが返されます
このメソッドを別のnodeJsファイルで使用すると、結果は常に未定義です。 理由を理解できません。私はそれを使用しようとすると
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
:ここ
は、私のソースコードであるvar Square = require ('./objects/square.js')
var sA = new Square(1,1)
console.log(sA.distance(new Square(20,20)))
結果は未定義です:
$ npm start
> [email protected] start D:\Documents\Programmation\NodeJS\target-rpg
> node server.js
undefined
は、私が代わりに27を取得する必要がありますそれは私がUndefinedを得た。 私はそれを理解することはできません。
私は、ノード8.1.4
すべてのヘルプを使用していますか?
です。私の愚かさには限界がないことが証明されています。 ありがとうMukesh –