JavaScript is planned to support operator overloading with value types in ES7. We're following those discussions very closely and intend to support it as soon as it possible with a macro-transpilation solution interim.
We're going to port some stuff directly from numpy and scipy (directly from source with the required legal attribution).
I understand this is a huge undertaking but we're standing on the shoulders of giants and we are optimistic about those deadlines. Of course if it'll take longer it'll take longer we're still building it - any help would be really appreciated of course.
It would be cool to have an all JS implementation of NumPy or SciPy but the reality of the situation is that if this is going to be used in a research setting and speed is one of the most important factors, then this is secondary to actually porting over the lower level C++ and FORTRAN code.
However, their timelines are too short. It makes me feel like they don't really understand what it's going to take.
A good start would be the C++ library libdynd which was designed to potentially be used from Javascript.
NumPy has much more than vectors and matrices. Does Javascript have operator overloading?