So as I mentioned at the beginning, JavaScript is an awesome language. It is a wonderful language, it's a powerful language as a developer. But it's also a language, because it's not a strongly typed language, it's a language that you have to be responsible and careful. The other thing that's cool about JavaScript is it's evolving and getting ideas from other languages. Because it's such a popular language it gets sort of regularly improved for PHP 7 or JavaScript 6. So it keeps getting better and better. And so I assume that you already know programming languages in general. So I'm just going to kind of highlight the cool things that are unique to JavaScript that might be different especially because there's a lot of overlapping between PHP and JavaScript because they're both C-based languages. They're both inspired by C. So comments on JavaScript Awesome. // which is a C++ comment to the end of the line. And then /* which is an older C style comment is a multiline comment that sort of goes across multiple lines. These are used for documenting functions. That's very nice. Languages that don't have multiline comments, I'm like grumpy about that. I'm talking about you, Python. Why don't have decent comments? I have to use triple quotes, which are actually strings! They're not comments, [SOUND]. Okay, so like any C based language, white spaces and newlines do not matter, statements end with a semicolon. There are certain situations where you can leave semicolons off, but I tend to just put semicolons on everything. And go pretend I'm programming in C. A good C programmer can program in C no matter what language they're in. And here's an example of a really bad white space, right? This is one sentence. It's ended by a semicolon, console.log. The new line doesn't matter, the indentation doesn't matter. None of that matters. It certainly matters to whoever's going to read your code, like me or the teaching assistants. We don't want to read icky code, but it's a voluntary thing to make your code look pretty. But you should still do it. Variable names, you can use upper, lower case letters and numbers. And underscore and dollar as the first character. Now, it can't start with a number but you can start with a dollar. And I sort of don't quite know why they did that. But I think they were trying to make it seem more like a scripting language. And scripting languages like Perl and Bash and Python to some degree have, PHP have dollar signs, not Python, has dollar signs. And so they we're trying to sort of make it a more approachable and easily understood language. And so generally people just say, don't do dollar signs, they're tacky. And then it pretty much functions like any normal and decent programming language in terms of the variable name choices. Case sensitive matters, but don't play with that. We can use case to mean stuff, but don't create a variable called bob and Bob and expect them to be different. They are different, but don't do it. You just make people angry who read your code at that point. String constants are nice in JavaScript in that they are the same for single quotes and double quotes. Though the escaping like the new line, of course, this whole \n stuff, that's a C idea, so you see that in most C languages. What we tend to do in JavaScript, and it's kind of the same in PHP, is we tend to use single quotes in JavaScript because double quotes are required in HTML. So the script tag is HTML, /script tag is HTML, this is JavaScript. So I in my own thinking, I tend to use single quotes whenever I possibly can in JavaScript to avoid. So I can just look at a line of code and go that's the JavaScript, that's not the HTML. because we're often mixing HTML. And sometimes we're writing document.write that has HTML and it's got double quotes. Single quotes for the string, double quotes inside the string because we're writing HTML. And so, reserve the double quotes for HTML whenever you possibly can. Numeric constants work the way that you would expect. And now we'll talk about some of the features of the JavaScript programming language.