Am I Learning JavaScript the right way?

yes I read the prompts, and have been getting them mostly correct as I’m sure most of you have googled solutions or looked on these forums. The javascript tutorials are getting very complicated and I fear I will not be able to apply anything in a real world setting. Does anyone else feel this way? ? Am I in over my head? It feels very overwhelming when I don’t understand how to use Javascript on my own from scratch. Should I keep going? Is this a normal feeling?

  • Are you learning JS from FCC curriculum or somewhere else ?
  • I have found FCC curriculum to be best as you learn new concept and apply immediately to check it in action
  • Have you finished HTML and CSS already ? and also built some projects ?
  • If YES to above then start building projects with JS as well. Refer to Frontend Mentor or similar once
  • Along with FCC, use VSCode to re-run same code

All the very best

1 Like

Hello,
Individuals learn differently. On my end, I am learning the javascript not by fulfilling the lessons but dissecting structures. (Going through it is easy, understanding it is time-consuming.)

There may be times I am unable to write the same code if given a blank state. (lack the memory)

For example, I know how Bootstrap (frontend) works but wouldn’t be able to write it without the reference of W3/MDN. With the reference, copy-pasting it to suit an intention is easy. (Read through the entire document to get an idea of what can be done.)

Another example, if told to make a function that calculates median, I may have forgotten how exactly to write it, however, I know how it works. (Get modulus with % etc)

The important bit for my learning is understanding how the codes are connected.

—BASICS—
I look up what the symbols mean and how they interact with variables/indexes.

For example, “.” is a period. This notation means “run an operation on” OR “access a property of an object”. So, x.method() means that the method is running an operation on x.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors

Brackets are used as property accessors too. (different from [ brackets ] used as arrays) In the example below, person’s last name is accessed by [ “key” ].

const person = {
  firstname: 'John',
  lastname: 'Doe',
};

console.log(person['lastname']);

—BASIC BUILDING BLOCKS—
This might be the reason why us beginners struggle to write codes on our own. The “how” of the methods are taught but they are not organized in our memory as a collective set. Making active recall or reference much harder. For example, how would one go about updating a text box with all contents of an array on a separate element?

If however, what was learnt is grouped in a “library bookshelf”. We have a reference without thinking through entire exercises.

For example, I group methods:
“Functional affect” methods:
arrays: array.forEach, array.map, array.filter.

“Checking” methods:
array.includes, array.some, array.every

I know the task is related to an array. So thinking through the methods, functional group is the one that helps. I need every array item iterated through and added to the textContent.

on a separate element

This is a seperate step that involves appending. If you have the building block of functional methods that affects HTML, the recall of insertAdjacentHTML will be there.

—STRUCTURE—
I do not have a reference but made one that feels “normal”.

The sequence being DOM (Document queries) > Global variables > Helper function > Main Functions > eventListeners (sometimes I put this at the top) > Initialization.

Take note of syntax and conventions like naming too. (camelCase vs snakecase) This likely defers by programming projects/group agreements.

DragonRPG, Musical Player, Calorie-counter, To-do list were very hard. (Personally, it’s partly due to the “odd” phrasing and structure of the lessons. For example, I did not understand what a step did until it was connected a few steps after.) Plow through them (Sometimes, skipping some and go backwards.)

I look back on them often to see if I can understand the structure. For example, in DragonRPG, how the buttons connect to call an array’s object’s key. What is the syntax? Look up what the common symbols are. The example listed in “Basics” above is related to DragonRPG accessing location arrays. (By often, I’ve scanned through To-do list’s codes at least 5 times since completing it to see if I understand the grouping.)

An important lesson I had to look up was “scopes”, understanding how variables within a function are not polluting the global scope.

I recommend skipping “Functional Programming” near the middle and doing that last. The lessons are complicated and vague.

—HTML CSS—
This is the same manner which HTML/CSS is dissected. For the test, I cared not for the “information” within the paragraph but how the layout is made. How grids and div properties affect the layout. How are they arranged. I do not remember fancy properties. (If needed, look them up)

I would be careful here. If you mean that you looked up answers, that misses the point of these steps. These steps are there to let you learn how to build solutions. Reading someone else’s answers sidesteps that. I’d ask for help when stuck over reading other people’s answers.

HI @mistercarson !

JavaScript is hard especially if this is your first programming language.

I would suggest going through the new full stack cert’s JavaScript section.

it moves at a slower paces and covers more then the current one.

Also, when you get stuck reach out on the forum and the community can help you.

With enough practice you will get better and start to apply what you have learned to the real world.

I have been on the forum for a few years now and I can tell that tons of people have been in your exact position. So you are not alone. Just take it day by day :+1:

This is a normal feeling.
Just make sure to reach out for help more often and that will help you understand better

Yes! :+1:

Part of programming is learning how to break through hard moments. That is why it pays so well. But when you do stick with a problem and solve it you will grow so much and gain a deeper understanding of the subject matter

hope that helps

1 Like