Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript JavaScript Loops, Arrays and Objects Tracking Multiple Items with Arrays Removing Items From Arrays

Eduardo Vargas
Eduardo Vargas
4,928 Points

Semicolon or no semicolon?

I noticed that Dave DOES NOT use a semicolon for...

nums.pop()

but DOES use it for...

nums.unshift(0);

I experimented with it and apparently both still run whether it has a semicolon or not. What is the best practice on this or am I overthinking this?

1 Answer

giraffekey
giraffekey
11,650 Points

With JavaScript you use a semicolon after every statement. So yes, you would put a semicolon after the pop statement.

According to the following link: https://dev.to/adriennemiller/semicolons-in-javascript-to-use-or-not-to-use-2nli It turns out that JavaScript will add semicolons to lines automatically when it parses the code.

So that is why it still works without one, but I would still say it's best practice to include it yourself instead of depending on automatic insertion to do it for you. Also, I would assume the code would run a bit faster if JavaScript didn't have to put extra work into adding one to every single line you didn't add one to.

Note: You don't use semicolons after if statements, for loops, while loops, or functions, but do use them after the do while loop

Eduardo Vargas
Eduardo Vargas
4,928 Points

Thanks! My OCD was kicking in and I needed an answer.