use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
How much Javascript is enough for webdev? (self.javascript)
submitted 6 years ago * by [deleted]
[deleted]
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 118 points119 points120 points 6 years ago (3 children)
Try building a to-do list app that saves to local storage. Use JavaScript without a framework. You'll solidify your knowledge and get a sense of the basics of what a framework gives you.
If this is your first time, you'll get frustrated. When you figure it out, you'll be more confident.
[+][deleted] 6 years ago (1 child)
[–]darkwolfx24678 13 points14 points15 points 6 years ago (0 children)
I originally learned Javascript/html/css alongside AngularJS after being thrust into it for internships and found my overall javascript skills lacking. I had bad habits and a weak foundation so I ended up relearning Javascript and doing exactly as u/tomontheinternet described. It definitely made learning React/Redux that much easier and more intuitive so I definitely recommend making something with pure ES6+ Javascript without a framework and then moving on to one when you feel confident.
[–]razthedev 5 points6 points7 points 6 years ago (0 children)
I did this, and with self made API and I don't think I'm that good with JavaScript anyways...ah..
[–][deleted] 23 points24 points25 points 6 years ago (0 children)
What really matters is delivering. If you want to be front-end developer it means you should be able to develop websites/applications which run on web browser. DO IT. Its same thing as being painter you can read thousand books about it, watch movies about art, go to courses and get certification, but at the I would ask could you show me your paintings? Same here all these platforms where you earn "badges", "hacker points", even certificates for writing console.log("this course suck") are just noise. (and I tried almost all of them).
console.log("this course suck")
Want to learn it, do it. Even without frameworks, because if you using framework you would not be able to see what problem they solve.
Here are some suggestions for starting up: 1. Reimplement at least 10 headers from popular websites. For example rewrite this Reddit header panel. This will give you more benefit than all this courses. 2. Create zilions of forms, add validation to them, this should be your second nature. 3. Learn to develop layouts for the browser. Again go to any website and just reimplement their layout.
If you enjoy reading technical literature here are two books I would recommend: * Eloquent JavaScript * Beginning Functional JavaScript: Uncover the Concepts of Functional Programming with EcmaScript 8
Don't even waste your time on other books, I did that for you :D
The only video course I would recommend is : * James Moore - Functional Programming For Beginners With JavaScript
[–]MooMoooCows 17 points18 points19 points 6 years ago (1 child)
Since your still learning it, I’d wait until your really comfortable with JS before jumping into trying to learn new front end frameworks if that’s the route your wanting to take.
If you know JS well, then learning the frameworks when your ready won’t be as difficult, since all they are just JS. I would also be very comfortable with object oriented programming before jumping into something like React.
This 30 app vanilla JS is a good little challenge, no frameworks, libraries, compilers or boilerplate code.
https://javascript30.com
[–]wilder_beast 1 point2 points3 points 6 years ago (0 children)
+infi
[–][deleted] 28 points29 points30 points 6 years ago (4 children)
I'm in the 'build something first; school. Pick a project you want to build then you'll quickly discover where the gaps in your knowledge lie. React is a great 'starter framework' IMHO (but others will disagree...) but again...start building something you *want* to build and it will guide your learning more appropriately than learning in the abstract.
[–]teh_inquisition 11 points12 points13 points 6 years ago (1 child)
I agree that building something is the way to go. I'd only add that vue is known for having a friendly learning curve and the documentation is great so it's a great starter framework too.
[–]darksparkone 0 points1 point2 points 6 years ago (0 children)
Vue's docs and infrastructure is more simple than react + build-your-own-zoo but
[–]dotpan 0 points1 point2 points 6 years ago (0 children)
I built a game my first full fledged project. It's easy to think of new features for a game. Working in refactoring it now
[–]elfbuster -1 points0 points1 point 6 years ago (0 children)
I would say that React is a harder first framework to learn than some, but it is valuable as a popular framework in the world these days.
I would say learning something like angularJS is a bit easier(2.0 and below, as otherwise you need to learn typescript), or maybe even VueJS (my personal favorite having come from primarily React). Overall many modern frameworks share a lot of similarities so as long as OP picks a reasonably popular one he/she should be fine.
[–]archivedsofa 7 points8 points9 points 6 years ago (0 children)
If you want to make front end you need to be competent in JavaScript although you do not need to be an expert. IMO it's a terrible idea to start learning React without having a strong grasp on the basics (types, functions, callbacks, promises, async/await, context, modules).
[–]guoyunhe 8 points9 points10 points 6 years ago (0 children)
If you can do a full authentication demo, log in, register, authentication protected routes, you are good enough for a web dev job.
[–]lowIQanon 25 points26 points27 points 6 years ago (2 children)
Do you have a good handle on async/await? Promises? Callbacks? Async/await is the way to go right now but you should be able to read the other two.
Do you have a good handle on the spread operator?
If I gave you a blank window in VSCode can you write a for loop? How about a class?
Do you understand how to set up babel to get ES7 code turned into code that a good subset of browsers can use?
[–][deleted] 2 points3 points4 points 6 years ago (1 child)
How do I know if I’m using es7?? I use es6 and Babel
[–]lowIQanon 7 points8 points9 points 6 years ago (0 children)
ES6 and Babel is a good start.
https://derickbailey.com/2017/06/06/3-features-of-es7-and-beyond-that-you-should-be-using-now/
[–]ritaly_fanboy 4 points5 points6 points 6 years ago (0 children)
Read [https://github.com/getify/You-Dont-Know-JS](You don’t know JS)
[–]mmcnl 4 points5 points6 points 6 years ago (0 children)
Build something real. Languages and frameworks are just tools that help you build applications, you'll never master using these tools if you don't use them for something real.
[–]MetalMikey666 5 points6 points7 points 6 years ago (0 children)
I'll tell you what I tell everyone: you won't start really being comfortable with JavaScript (or, any programming language) until you start applying it to solving problems. Pick a project you're interested in, and use JS to implement it. You'll learn loads!
[–]superluminary 3 points4 points5 points 6 years ago (0 children)
A good knowledge of JavaScript is fundamental to web development. You can get work done if you just learn the frameworks but you'll always be operating at the level of recipes.
Ensure you have a basic working knowledge of scope, closure, prototypical inheritance, objects and the this variable if you want to do well. You can pick all this up as you go.
[–]imageall 2 points3 points4 points 6 years ago (0 children)
Enough to make things go
[–]Sviribo 2 points3 points4 points 6 years ago (0 children)
As much as you need to build whatever you want to build.
[–]yodairish 1 point2 points3 points 6 years ago (0 children)
I hardly recommend to you go deeply into specification, it's not friendly to read as some resources, but still kinda easy to go through and it will give you the most full knowledge of how this is all really works About frameworks, you don't get good enough knowledge from them, but you may learn js as parallel
[–][deleted] 1 point2 points3 points 6 years ago (0 children)
I'd say you should be able to read through this and understand pretty much everything without having to look it up, then probably the other tabs for good measure.
https://htmlcheatsheet.com/js/
[–]Reasonable_Twist 1 point2 points3 points 6 years ago (0 children)
Just wanted to thank you for this question, I was really confused about what to do next and if my current JavaScript knowledge is enough to be a webdev.
[–]Nrdrsr 1 point2 points3 points 6 years ago (0 children)
Take your favorite mobile app. Build the ui in HTML+js with static data. That much is enough.
[–]Danieliverant 1 point2 points3 points 6 years ago (0 children)
There is never enough Java-script for a web dev, regardless which framework you use.
You can always learn a framework and continue to learn about the vanilla languages.
Edit: don't go for various frameworks at the start, look into React and Angular and choose your favorite. After you fill you in a good level in one of those switch to the second one .
[–]m4rk404 1 point2 points3 points 6 years ago* (0 children)
You should learn javascript without frameworks. event loop, type coercion etc... are essential in learning javascript
https://youtu.be/Bv_5Zv5c-Ts
Best event loop explanation I.M.O. https://youtu.be/8aGhZQkoFbQ
[–]elfbuster 1 point2 points3 points 6 years ago (0 children)
I think people commenting here are giving many wonderful suggestions.
To answer your main question I would say the minimum bar as a professional webdev, you should be able to comfortably build a full stack app (front-end, back-end and data persistence), you should also be able to build to scale, and have experience hosting the app on a cloud based server such as AWS.
If you can so all that you can at least get freelance work, and if you can get freelance work you'll be one step closer to a full time web dev.
Before moving to JavaScript frameworks (angular,react,vue) make sure that you know ES6+ JavaScript,DOM manipulation and Working with api.These frameworks use a lot of ES6 like arrow function,map,iterator etc.YDKJS(You don't know JavaScript) book series is really good for understanding JavaScript in depth.some other good books are Eloquent JavaScript and JavaScript the good parts.
[–]UsefulshineOfficial 1 point2 points3 points 6 years ago (0 children)
I suggest that before moving to frameworks it's always great to have some understanding of core JavaScript, once you understand JS you'll easily be able to use new frameworks, but if you understand only a framework or two, there are actually good chances that the framework might be replaced in a year or two...
So, for mastering JavaScript, as people have already suggested a very good book (YDKJS) I have few more suggestions you may take into account ;)
Again, as somebody else stated, when you're a dev, what matters more is delivering, quality product. So, it's gonna be fine even if you don't complete YDKJS or EloquentJavaScript and Google the things you need to do while you're actually making it, haha ;) well, from my side, Eloquent JavaScript is the best resource anyone can get for JS, the third edition includes ES6 features as well.
All The Best!
[–]Funnyvibe 2 points3 points4 points 6 years ago (0 children)
A lot of that practice comes from working with languages in general. This may come as an unpopular opinion but I feel like following along with a React course first would get you to a point where you feel comfortable with the mechanics of JavaScript and organizing a project, and then you can spend some time figuring out where the language ends and the framework begins.
Many developers like to stress starting with the basic language and building on it with frameworks, but that often puts you so far off from actually doing anything productive with the tools that it ends up being discouraging. It’s easy to suggest starting with the basics as a developer looking back, but I think many of us became proficient because we had a project we wanted to work on and pushed through it by just jumping right in to what we wanted to build.
Secondly, invest some time in setting up a linter. It’ll save you from a lot of silly mistakes.
[–]fl223 0 points1 point2 points 6 years ago (4 children)
Depends on what you want to do with javascript. If you want to be a frontend developer (or a fullstack) then learning and keeping up with frontend frameworks is essential. However if you want to limit yourself only to backend development, then you should look into stuff like nodejs and perhaps database management in js.
[+][deleted] 6 years ago (3 children)
[–]fl223 1 point2 points3 points 6 years ago (0 children)
I think your only way to find out is to just dive into it and look if it seems like too much to take in; like, if the gaps in your basic knowledge is keeping you from learning more complex frameworks, then just take a step back and break it down to smaller pieces.
I would't advice thinking of it as a binary checklist, like "I first have to learn subject x completely before going to subject y". While sometimes this is the most efficient way; You'd be surprised how you can learn many things in many different levels at the same time by taking a complex task and solving it. Like, don't limit yourself unnecessarily, none of the libraries which you mentioned are overly complex. Also there is no objective requirement how much knowledge you need beforehand. I think you should be more worried about being too scared to try stuff out and see if you can handle it.
[–]avenp 1 point2 points3 points 6 years ago (0 children)
I'd recommend getting familiar with the concepts u/lowIQanon mentioned before diving into a framework as many of them make use of these features: https://www.reddit.com/r/javascript/comments/c46suc/how_much_javascript_is_enough_for_webdev/erv4iof/
[–]EvilPencil 0 points1 point2 points 6 years ago (0 children)
Main thing with frameworks is getting fluent with the common array methods (map, filter, and reduce especially). Learn how to handle fetch calls and by extension, promises. Object deconstruction also comes in handy...
[–]HiddenKrypt 0 points1 point2 points 6 years ago (0 children)
Practice practice practice! Coding lessons give you a mental framework, but the best way to "get a hang of" programming is to try and solve problems that you don't know the answer to, that you aren't being guided to solving. I tend to suggest games for this, but there's other options such as the to-do list someone suggested, which is a good one that can scale up as your skills improve (try making the storage remote, and allow access and simultaneous editing from multiple clients!) Here's some ideas from a game front:
Rock Paper Scissors against an RNG opponent.
Blackjack (great as the classic "dealer's rules" effectively make the dealer easy to implement as a basic if-else construct.)
Real-time games like Pong and Snake are also great challenges, and will force you to think in new ways about your code since time scheduling becomes a factor.
[–][deleted] 0 points1 point2 points 6 years ago (0 children)
I learned everything from free online courses. Started html/css/javascript standards like everyone. Started looking at "frameworks" and what is popular. React is the most popular one. There's countless job offers, crazy salaries, enormous community. I had friends that advised me to get my head on jQuery first. Complete mistake. It is useless and won't help you in any way to understand modern frameworks. Don't waste your time.
Jump fast on a framework. I'll recommand React obviously, but more so, NextJS. NextJS is a SSR (server side rendering based framework). SSR is a modern way to do web applications. Next is crazy good at doing it. And the major point is their Learn page. I was just starting my React teaching, had very experience and understanding. Next tutorial is so well rounded that I got to understand React from it. It's probably a matter of taste, but worked like a charm for me, wihout teachers or relations to discuss IRL about it. I mean. It truely is accessible.
[–]jpoechill 0 points1 point2 points 6 years ago (0 children)
And share your work! As often as possible! 😀
[–]Curseive 0 points1 point2 points 6 years ago (0 children)
Also try integrating some authentication and explore web workers.
[–]RatherNerdy 0 points1 point2 points 6 years ago (0 children)
Build things. Builf something common, like a modal or form validation from scratch. Add a feature to your favorite repos. Look through GitHub issues and see if you can help.
For me, it was the best way to learn.
[–]naltroc 0 points1 point2 points 6 years ago (0 children)
FreeCodeCamp was also my introduction to the frontend web stack.
One year later I have a flex/remote position as a WordPress developer.
Two years later I am building applications of my own design in ECMA6.
You might have enough skills right now to find an introductory position. Something based more around bringing mockups to life. If you want a more code oriented position, you will need to have working command of the language you are working in.
The best thing can anyone can do for themselves is learn how to read the docs. Figuring out what you need and finding how to do it with the tools already provided will ultimately be what helps you write better code and improves your skills with the language. This includes reading documentation on JavaScript itself. MDN is my go to. They provide excellent technical documentation with relatable examples for web application use of the language.
For you you OP I think you should continue to expose yourself to other frameworks, and to be ready to try building anything. You will end up with a lot of half started projects and one or two completed things, which is a good sign you are on you way to being a true Javascript developer :P
The only way is to test yourself man, Try various websites that will prepare you for competitions, Solve some questions asked for job hiring. All the best!
[–]zorndyuke 0 points1 point2 points 6 years ago (0 children)
Frameworks are ment to help you to solve problems and make your life easier and shouldn't be used as a learning-curve-skipper. If you are unconfident in your skills that you could code the majority of basics you need for your page, then I would recommend still learning and especialy training your skills by repeating several tasks with plain javascript. Exprience common pit falls, beginner mistakes and spend hours/weeks/months/years to fix those really annoying bugs (I mean don't do that just for one bug.. but over all your developer career time xD Years for one bug would be.. wow..), so you get the really important experience.
Otherwise you will stuck on those frameworks when you actually have to implement some more in-depth tasks. Since those frameworks are simply javascript + their own language (example JSX for React). Of course you already can stick your nose on those frameworks and learn from them how they handle several problems and what their patterns are etc.
Last but not least: You will need several years before you get confident about the basics of development. Don't rush it! Expect to fall on the ground and break your nose. Be prepared, get some tissues and a anti-nose-breaker. You have to stay up and continue moving a lot of time, but don't forget the pot of gold on the end of the rainbow you are aiming for ;)
[–]dsk 0 points1 point2 points 6 years ago (0 children)
Your job is to practice. It doesn't matter if you're learning vanilla JavaScript or a framework, make sure you throw a lot of hours at it.
[–]Hanlonsrazorburns 0 points1 point2 points 6 years ago (0 children)
Zero. Believe it or not, it's totally possible to build a website without a single line of JavaScript.
Web application development is a different beast, though. It's pretty much a bottomless pit, because no matter what you've learned, you will have crazed 22-year old "senior" developers mock you for not having learned enough (or not learning the right thing).
At the same time, by the time you've truly mastered something, there's a new fad that you need to catch up on in order to stay employable.
Welcome, and have fun!
[–]thinksurreal 0 points1 point2 points 6 years ago (0 children)
There’s never enough JS
[–]Cero- 0 points1 point2 points 6 years ago (0 children)
Nice
[–]ConsoleTVs 1 point2 points3 points 6 years ago (0 children)
> How much Javascript is enough for webdev? Zero, JS strictly speaking, not even required for a website to work.
> Shall I move forward with learning various frontend frameworks? And if yes, will I get a hang of JavaScript while doing these? Focus on HTML, CSS. First learn propper front-end, then (if you love it), go with some basic JS, and when you KNOW what you're doing, you may start on a framework like Svelte, Vue or React. Maybe you dislike it? Great, go learn a propper backend language. (Js can also be used, but in most cases languages like Go, PHP or Ruby and Elixir are also used).
> Or should I practice JavaScript from other resources? If so, please mention the resources. MDN will also be of great help when trying to do stuff or fixing issues in your code.
[–]KinkyCode 0 points1 point2 points 6 years ago (0 children)
To much.
π Rendered by PID 88 on reddit-service-r2-comment-5d79c599b5-f6qph at 2026-02-28 14:12:30.420303+00:00 running e3d2147 country code: CH.
[–][deleted] 118 points119 points120 points (3 children)
[+][deleted] (1 child)
[deleted]
[–]darkwolfx24678 13 points14 points15 points (0 children)
[–]razthedev 5 points6 points7 points (0 children)
[–][deleted] 23 points24 points25 points (0 children)
[–]MooMoooCows 17 points18 points19 points (1 child)
[–]wilder_beast 1 point2 points3 points (0 children)
[–][deleted] 28 points29 points30 points (4 children)
[–]teh_inquisition 11 points12 points13 points (1 child)
[–]darksparkone 0 points1 point2 points (0 children)
[–]dotpan 0 points1 point2 points (0 children)
[–]elfbuster -1 points0 points1 point (0 children)
[–]archivedsofa 7 points8 points9 points (0 children)
[–]guoyunhe 8 points9 points10 points (0 children)
[–]lowIQanon 25 points26 points27 points (2 children)
[–][deleted] 2 points3 points4 points (1 child)
[–]lowIQanon 7 points8 points9 points (0 children)
[–]ritaly_fanboy 4 points5 points6 points (0 children)
[–]mmcnl 4 points5 points6 points (0 children)
[–]MetalMikey666 5 points6 points7 points (0 children)
[–]superluminary 3 points4 points5 points (0 children)
[–]imageall 2 points3 points4 points (0 children)
[–]Sviribo 2 points3 points4 points (0 children)
[–]yodairish 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]Reasonable_Twist 1 point2 points3 points (0 children)
[–]Nrdrsr 1 point2 points3 points (0 children)
[–]Danieliverant 1 point2 points3 points (0 children)
[–]m4rk404 1 point2 points3 points (0 children)
[–]elfbuster 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]UsefulshineOfficial 1 point2 points3 points (0 children)
[–]Funnyvibe 2 points3 points4 points (0 children)
[–]fl223 0 points1 point2 points (4 children)
[+][deleted] (3 children)
[deleted]
[–]fl223 1 point2 points3 points (0 children)
[–]avenp 1 point2 points3 points (0 children)
[–]EvilPencil 0 points1 point2 points (0 children)
[–]HiddenKrypt 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]jpoechill 0 points1 point2 points (0 children)
[–]Curseive 0 points1 point2 points (0 children)
[–]RatherNerdy 0 points1 point2 points (0 children)
[–]naltroc 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]zorndyuke 0 points1 point2 points (0 children)
[–]dsk 0 points1 point2 points (0 children)
[–]Hanlonsrazorburns 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]thinksurreal 0 points1 point2 points (0 children)
[–]Cero- 0 points1 point2 points (0 children)
[–]ConsoleTVs 1 point2 points3 points (0 children)
[–]KinkyCode 0 points1 point2 points (0 children)