DEV Community

Discussion on: I'm Wes Bos, Ask Me Anything!

Collapse
 
kellyjandrews profile image
Kelly Andrews

What concepts have you found most devs tend to struggle with?

Collapse
 
wesbos profile image
Wes Bos • Edited

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?!

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 :)

Collapse
 
willcwork profile image
Will

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?

Thread Thread
 
kellyjandrews profile image
Kelly Andrews

Correct. name is the parameter scoped to that function.

Collapse
 
kellyjandrews profile image
Kelly Andrews

That's really good info. I never would have guessed that. Thanks for answering!

Collapse
 
ben profile image
Ben Halpern

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.