Open methusalah opened 9 years ago
Pas de statut final en javascript, en tous cas de base. Pas de classes statique non plus... La syntaxe suivante me semble plus javascript.
angle = {
null : 0,
flat : Math.PI,
right : Math.PI/2,
full : Math.PI*2,
counterclockwise : 1,
clockwise : -1,
none : 0
}
Avec éventuellement
angle.getTurn = function(p0, p1, q) {
var turn = vector.determinant(vector.sub(p1, p0), vector.sub(q, p1))
if(turn > 0.00001)
return -1;
else if(turn < -0.00001)
return 1;
else
return 0;
}
Selon les principes suivants:
{x:0,y:0}
Attention! Tu passeras à côté du langage tant que tu essaieras de reproduire ton code Java en Javascript. La philosophie des deux langages est totalement différente!
Si je comprend bien, quoique tu fasse en javascript est un objet. Du coup le principe de la classe statique n'est pas reproductible as-is.
J'ai donc bêtement fait un objet contenant mes champs et mes méthodes. Valable? Y'a-t-il des mécanique pour empêcher la modification des valeurs des champs? comme le statut final en java?
function Angle(){}; Angle.NULL = 0; Angle.FLAT = Math.PI; Angle.RIGHT = this.FLAT/2; Angle.FULL = this.FLAT*2; Angle.COUNTERCLOCKWISE = 1; Angle.CLOCKWISE = -1; Angle.NONE = 0;
Angle.getTurn = function(p0, p1, q) { var turn = p1.getSub(p0).determinant(q.getSub(p1)); if(turn > 0.00001) return Angle.COUNTERCLOCKWISE; else if(turn < -0.00001) return Angle.CLOCKWISE; else return Angle.NONE; };