- No conventions.
- Not standardized.
- No consistency in online resources.
- Lots of outdated online resources.
- No first class Enums
- Callback hell (work around with Promises,
await, but its not supported everywhere)
- Like wtf?
- All the problems of a loosely typed language.
- Hard to scale as a language, due to no types.
- Hard to refactor.
- Inconsistencies in coding style amongst the community
- JS Modules are confusing
- Requires high code coverage due to inconsistencies.
babelflags can make your code run differently
- Requires high code coverage to ensure it does as expected.
- You need tools like
lodashfor basic stuff (bucketing items in in an array,
- Was design for client side browsing, not server side
- It has both
- No native
What does this return?
"some string".match(/some regex/)
It's an Array with properties of
- Requiring the use of new features via Babel
- Requiring WebPack to bundle for frontend
- Module systems
- Inconsistent environments
- Browser development, so many browser versions
- Node, webpack vs everything else
Array.flatonly works in Node.js 11+
Object.values(object)returns an array of values
array.values()returns an iterator
new Set(['a', 'b']) == new Set(['b', 'a']); // false