Okay, I've tried delaying learning javascript off for as long as possible, but there's no other way. How the fuck do I become fluent (read: hire-able) in javascript? Do I learn vanilla stuff and then get into frameworks, or just fuck it?
Keep in mind, getting a job or working freelance is all that matters.
There are no types in Javascript, mostly it's vars. Definitely learn module patterns in Javascript, they could help out a lot. Classes are functions. I mean it... Example: Car = function(name, brand) { this.name = name; this.brand = brand; this.drive = function(){ console.log("Vroom!"); }; } var audi = new Car("A8", "Audi"); This generates a new Car object etc etc, now you can do shit like audi.drive(); and idk much about it I ain't no JS expert desu
Just use TypeScript, it's like Javascript but better, heard it supports things like classes and crap
Liam Taylor
In rough order, learn these: * ES5 * Linux or OSX command line basics--navigation, file manipulation, script execution, environment variables, permissions, etc. * Node, NPM, and Yarn * ES6--make sure to hit Promises and async/await * Http, ajax calls, rest apis, fetch requests * Babel * Webpack * Pick React or Angular and build something nontrivial with it to show to recruiters
Congratulations now you're a junior JS dev.
bonus content to stand out from the crowd: * websockets * GraphQL apis * interacting with a traditional SQL db like postgres * use karma/jest/jasmine to write tests for your javascript
Gabriel Russell
>Definitely learn module patterns in Javascript, they could help out a lot.
Pay attention here OP, this one is really important. Learn how CommonJS modules work because that's what Node uses, then learn how ES6 classes and imports work.
Landon Johnson
I would definitely start with "vanilla". Only way to really understand what's going on, and popular frameworks/module change all the time.
I would go straight with ES6 though. Otherwise you'll be learning things you have to unlearn later on. The problem is browsers don't support it yet, so you need to a "transpiler" to turn your ES6 code into ES5.
But using a transpiler can actually make things easier. For example when you use webpack with "hot module replacement" you don't have to manually reload your browser, which makes development so much nicer.
Nolan Gomez
that's a good list, though i'd put react or angular before webpack and babel. they have basic setups to get started without worrying about tooling, webpack just gets in the way if you try to learn it first.
Benjamin Wilson
And I would put Webpack and Babel at "ES6".
Don't have to do anything complicated with it, just to allow ES6 to run in a browser.
Thomas Richardson
I'd recommend two books, both are free online if I recall correctly: "Eloquent JavaScript" "JavaScript: the good parts"
After that you should know oldschool JS and basics of Node. Then work yourself though ES6. Then add framworks of your choice.
Connor Powell
post sauce, I know is a girl doing it for money
Leo Reed
well obviously, that's the only at least somewhat justifiable reason to do Javascript
>Learn old school JS If you want to confuse yourself, sure. JS is a black hole of unintelligible garbage. Best to stick to one paradigm of shit and understand what's been fixed with modules.
>Do I learn vanilla stuff and then get into frameworks
Learn ES6, vanilla has lots of traps. Pick a framework later on. You do not need a framework to make applications in js. However, they usually appear in job descriptions (React or Angular most commonly).
Babel + webpack will save your ass.
Eli Watson
I would start by making CLI stuff with a new version of Node. Read a bit about what languages features are ES6/7/+ and understand where to use it, destructuring, async etc. Npm/Yarn to get dependencies. Get a feel for Jest as a test runner. Unless you have your heart set on vanillia, I would skip building something in the web without a framework. Build something in React with Create React App. There is a lot you will be skipping in terms of webpack and babel, but honestly you can pick it up later. Create something in it, then realise how hard it was when you had to manage all the state with props and local state and then read into state management frameworks.
Jordan Gonzalez
>Get a feel for Jest as a test runner. how do I do this. I've read it everywhere but I can't really understand it.
Dominic Bailey
read You Don't Know JS then make a couple of small projects with JS then learn React and make a couple of projects with that
congrats you're a hire-able front end developer now
Matthew Wright
holy fuck anons help me i am getting a "blank error" very often while learning Java a blank error with no information of it origins even if there is no errors at all i am sometimes getting this shit the only way to get over it is to rewrite my work can someone help/explain this to me ? i alredy asked google but i am a brainlet anc can't figure it out
Mason Bennett
oh i use Eclypse to write this shit
Ethan Wright
You want a job: Pick up React or Angular. Yes, you'll be a better developer if you work bottom to top, learning the groundwork and learning the pitfalls of javascript.
Companies hire on their needs and their needs are often poorly communicated to HR. So you get "looking for React / Angular developer" ads that you'll be able to fill quite easily.
Angular itself is a very large, declarative framework. It has functions, classes, methods, and modules for almost everything you'd want to do in front-end Working with Angular and Typescript will expose you to most of the current tools like npm, es6, webpack, etc.
It's not the best way of learning and I definitely wouldn't recommend this way if you've got your eyes set on doing Node / backend dev.
I spend a week reading Angular docs and doing courses and I got a job as an Angular developer.
You're gonna hate life if you run into some JS pitfall that you don't know how to fix because you postponed learning vanilla properly.
But this is probably the fastest way to get hired.
Brody Williams
How are the MDN docs for learning Javascript beyond a beginner level?
Great, they know a lot. If you get too deep into certain topics (e.g. web audio API) it can be a bit lacking, but it's still better than any other place I can see think of