DEV Community

loading...

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 Ask Me Anything

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
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.

Collapse
kellyjandrews profile image
Kelly Andrews

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