What concepts have you found most devs tend to struggle with?
By far is how values get passed into functions.
const firstName = 'Wes'; function sayHello(name) { console.log(`Hello ${name}`); } sayHello(firstName);
Why is it name and not firstName?!
name
firstName
Seems to simple to anyone programming for a while, but it's often a cause for confusion in my students.
References (arrays, objects) VS values (strings, numbers) is another one.
Truthy/falsy was another one but I've got pretty good at explaining that :)
Beginner here, is this because whatever you put in the brackets after sayHello is what is passed, 'name' is essentially a placeholder for the value you are passing into it?
Correct. name is the parameter scoped to that function.
That's really good info. I never would have guessed that. Thanks for answering!
This brings me back. I remember this tripping me up early on. It lead to some behavior like always using the same name for both things just in case.
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
What concepts have you found most devs tend to struggle with?
By far is how values get passed into functions.
Why is it
name
and notfirstName
?!Seems to simple to anyone programming for a while, but it's often a cause for confusion in my students.
References (arrays, objects) VS values (strings, numbers) is another one.
Truthy/falsy was another one but I've got pretty good at explaining that :)
Beginner here, is this because whatever you put in the brackets after sayHello is what is passed, 'name' is essentially a placeholder for the value you are passing into it?
Correct.
name
is the parameter scoped to that function.That's really good info. I never would have guessed that. Thanks for answering!
This brings me back. I remember this tripping me up early on. It lead to some behavior like always using the same name for both things just in case.