It’s missing a lot of things that people really care about (with good reason) like static typing. But I think a lot of dislike also comes from it being more of a functional programming language and not object oriented. I like it because it’s like scheme or lisp but with a C like syntax that I find easier to read. I also like that I can do dynamic stuff with websites. In some ways it’s the perfect scripting language for the web. Just as messy and unpredictable as html.
There are “classes” (syntatic sugar over prototyping) that allow OOP in JS, so I don’t think why people would dislike it for the lack of OOP, unless they’re using ES5.
Oh, yeah. When people discover shallow clone vs deep clone is when shit hits the fan. Though anyone that comes from a C background shouldn’t fall on those traps either way.
It’s missing a lot of things that people really care about (with good reason) like static typing. But I think a lot of dislike also comes from it being more of a functional programming language and not object oriented. I like it because it’s like scheme or lisp but with a C like syntax that I find easier to read. I also like that I can do dynamic stuff with websites. In some ways it’s the perfect scripting language for the web. Just as messy and unpredictable as html.
There are “classes” (syntatic sugar over prototyping) that allow OOP in JS, so I don’t think why people would dislike it for the lack of OOP, unless they’re using ES5.
Some would say that until you’ve played “guess whether my clone still points back to the original object” in JavaScript, you’ve never really lived.
That said, I understand I’m supposed to start using TupeScript for that, so I’ll shut up about it.
Oh, yeah. When people discover shallow clone vs deep clone is when shit hits the fan. Though anyone that comes from a C background shouldn’t fall on those traps either way.