javascript does not have good OOP, no types
e.g. how are you going to do abstraction in js? interfaces?
You really haven't been around the block enough to compare languages to Java.
So here is the issue with that as a question.
When you say "abstraction", what you are referring to are the static typing constructs in Java that allow you to declare the relationships between objects. Just because JS lacks the ability to declare those constructs in a way that can be checked by a compiler doesn't mean you can't write abstracted code in it.