5 ms·
Read the You Don't Know JS series [0] - this tackles much of what people with mediocre proficiency overlook. To go beyond that you would probably want to dive d
by Jefro118 7y ago
Read the You Don't Know JS series [0] - this tackles much of what people with mediocre proficiency overlook. To go beyond that you would probably want to dive deep in to the ECMAScript specs [1] to really master the language. I don't think it will be that hard, just a slog.
[0] - https://github.com/getify/You-Dont-Know-JS https://github.com/getify/You-Dont-Know-JS
[1] - https://www.ecma-international.org/publications/standards/Ecma-262.htm https://www.ecma-international.org/publications/standards/Ec...
- enumjorge 7y agoOP, this is the best answer to your question. Lots of other answers on this thread are either ignoring the part where you said you wanted to really master the language and recommending introductory JS materials, or, bizarrely, telling you to learn something else instead. I don’t think you can master a language in one go. It’s not how most people’s brains work. I think you do it in stages. Get yourself a good introductory JS resource. The eloquent javascript book others posted looks good although I haven’t read it myself. Then read You Don’t Know JS. And then study the spec. Almost by definition the spec is the only thing that can give you a perfect and complete understanding the language. But don’t start there as a complete beginner is not its intended audience. Be sure to apply what you learn from each book by working on projects. Don’t just read the books. The material won’t stick that way.
- RodgerTheGreat 7y agoReading the spec will convey many useful details. If you truly want to master them, though, implement the spec and pass the conformance suite. If Fabrice Bellard can do it, in C, with no dependencies, you can do it in whatever language you're already comfortable with, using the standard library. It's simply a matter of sustained effort and focus over time.
- tlarkworthy 7y agoYes I discovered so much unexpected combinations of features after implementing a Java parser. Totally pointless for actually writing Java though, so I question the motivation here. Just coz something is permitted in the language doesn't mean you should. I bet the corners of JavaScript are deep. Mastering them is a party trick, rather than something practical.
- mras0 7y agoThis is a good idea, but I'd be selective about it. There's a lot of tedious and uninteresting (IMO) stuff in there, like https://tc39.es/ecma262/#sec-array.prototype.splice https://tc39.es/ecma262/#sec-array.prototype.splice or how unicode is handled in the source text. But looking into the details of how object prototypes and properties really work is essential for getting a good grasp of the language.
- jkcchan 7y agowow, I've never heard of the first resource but it's amazing so far. There should be a directory for these types of resources (I'm thinking of Why's Poignant Guide for Ruby, which also helped me a lot in the past.)
- Swtrz 7y agoIs there something like You Dont Know but for python? Im a sys eng thats been thrust into Python, I really enjoy the language but Im missing fundamentals
- xendipity 7y agoAgreed, the You Don't Know JS series is very good for solid fundamentals. At some point, that knowledge can then be applied by learning more advanced language features such as implementing Proxies, Generators, and template literal functions. To do so, some here are suggesting you read the language spec. I think Rau schmaer's series "Exploring ES6" [0] (and then ES7/8/9) is a great alternative to the actual spec. In those books he basically goes through the new features of each version of the language and does the deepest dive I've seen, with examples and references to the spec. [0] - https://exploringjs.com/es6.html https://exploringjs.com/es6.html
- logosmonkey 7y agoAfter about a year of building a few larger web apps to get my base working knowledge down I am competent and can build and understand most things. I started reading YDKJS earlier this month and I think it has been the single biggest knowledge accelerator for me. Really understanding core principles has illuminated so many gotchas I ran into over the course of the previous year. I do believe you need to have worked in JS for a while before jumping into YDKJS though. Having hit some of the idiosyncrasies of the language in the real world makes the book a much richer learning experience.
- jacobpake 7y agoI’ve read this series twice whilst learning Javascript, once towards the start and again more recently. As others are saying, the lessons had a much greater impact after having some proper experience with the language. The author, Kyle Simpson, has some really good video courses available online as well. He goes further in depth about some of the more interesting topics in YDKJS and is really able to sell some of his patterns. Again, Kyle’s material was better digested after some practical experience with the language.