Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Convert to Arrow Function Expressions

Srikanth Srinivasan
Srikanth Srinivasan
2,741 Points

Arrow Function semi-colon required?

I watched a video on Treehouse on introduction to arrow functions in which the instructor ended the arrow function creation with a semi-colon after the function body. I noticed in this video however that the instructor doesn't use a semi-colon at the end of the last function in the Convert.JS file. Can you confirm if the semi-colon is required or optional?

1 Answer

Steven Parker
Steven Parker
229,732 Points

Arrow functions are created by assigning a variable with a function expression. The entire statement is like any other JavaScript statement in that the semicolon at the end is optional.

It is, however, considered "best practice" to always use it. It was probably overlooked in this particular case because the functions are being converted from the conventional form, which does not have a semicolon after the body.

Srikanth Srinivasan
Srikanth Srinivasan
2,741 Points

Thanks for the clarification Steven. Can you just expand a bit on what you mean by "strict" mode please?

Steven Parker
Steven Parker
229,732 Points

Putting the line "use strict"; (including the quotes) at the beginning of the code places the system in strict mode, which makes some things that would normally be allowed become errors (such as implicit global declarations).

It does not, however, make the use of semicolons at the end of a statement line mandatory. I edited my answer to remove the potential for confusion. :see_no_evil: