Как заявил JaredMcAteer, несколько конструкторов технически невозможны, но предложение island205 достигает того же эффекта.
В качестве другой альтернативы, как насчет использования методов класса или простых функций со значимыми именами в нескольких конструкторах? Используя ваш пример, как насчет этого?
class Vector2
constructor:(@x, @y) ->
@copy:(vector2) -> new Vector2(vector2.x, vector2.y)
@zero:() -> new Vector2(0, 0)
Тогда вы можете использовать это так:
a = new Vector2(1, 2)
=> Vector2 { x: 1, y: 2 }
b = Vector2.zero()
=> Vector2 { x: 0, y: 0 }
c = Vector2.copy(a)
=> Vector2 { x: 1, y: 2 }