title
Introduction to JavaScript

description
This course introduces you to JavaScript, the most popular programming language for web development. You can also try the interactive version of the course here: https://scrimba.com/g/gintrotojavascript The course contains 14 lessons and 7 challenges. In the challenges, you'll be encourage to jump into the code and get your hands dirty. This is both fun and great for making the knowledge stick. ⭐️Course Contents ⭐️ ⌨️Data types ⌨️Variables (1:45) ⌨️Strings (4:11) ⌨️Numbers (11:37) ⌨️Booleans (16:41) ⌨️Arrays (20:23) ⌨️Objects (26:32) ⌨️Arithmetic operations (32:43) ⌨️Relational operations (34:31) ⌨️Increment & decrement (40:20) ⌨️If, else if, else (44:03) ⌨️Switch statements (50:22) ⌨️For loops (53:58) ⌨️While & Do While (57:30) ⌨️Functions (1:02:11) Check out the JavaScript ES6 course here: https://youtu.be/nZ1DMMsyVyI Follow the instructor Dylan Israel on Twitter here: https://twitter.com/PizzaPokerGuy Check out Dylan's YouTube channel: https://www.youtube.com/channel/UC5Wi_NYysX-LfcqT3Hq9Faw If you want to learn more about JavaScript, check out these playlists on our channel: ▶JavaScript Basics: https://www.youtube.com/playlist?list=PLWKjhJtqVAbk2qRZtWSzCIN38JC_NdhW5 ▶ES6: https://www.youtube.com/playlist?list=PLWKjhJtqVAbljtmmeS0c-CEl2LdE-eR_F ▶Design Patterns: https://www.youtube.com/playlist?list=PLWKjhJtqVAbnZtkAI3BqcYxKnfWn_C704 ▶Data Structures and Algorithms: https://www.youtube.com/playlist?list=PLWKjhJtqVAbkso-IbgiiP48n-O-JQA9PJ ▶Clean Code: https://www.youtube.com/playlist?list=PLWKjhJtqVAbkK24EaPurzMq0-kw5U9pJh -- Learn to code for free and get a developer job: https://www.freecodecamp.com Read hundreds of articles on programming: https://medium.freecodecamp.com javascript tutorial

detail
{'title': 'Introduction to JavaScript', 'heatmap': [{'end': 1969.277, 'start': 1926.477, 'weight': 1}], 'summary': "Covers javascript basics including data types, control flow, number methods, console log types, arrays, objects, operations, comparisons, control flow, loops, and functions. it includes 14 lessons with 7 challenges and emphasizes the event-driven nature of javascript, the 'let' variable, and es6 updates.", 'chapters': [{'end': 93.232, 'segs': [{'end': 93.232, 'src': 'embed', 'start': 26.48, 'weight': 0, 'content': [{'end': 33.141, 'text': "These challenges are going to be some concepts that you may know the answer to if you're paying attention to the course, or you may not.", 'start': 26.48, 'duration': 6.661}, {'end': 34.882, 'text': 'They are designed to.', 'start': 33.822, 'duration': 1.06}, {'end': 40.926, 'text': 'introduce you to some of the stranger or weirder parts of javascript.', 'start': 35.862, 'duration': 5.064}, {'end': 42.607, 'text': 'a little bit about javascript.', 'start': 40.926, 'duration': 1.681}, {'end': 44.669, 'text': 'javascript was written in 10 days.', 'start': 42.607, 'duration': 2.062}, {'end': 53.696, 'text': "it's an event driven language and object-based language, and it was originally designed to make web pages more dynamic,", 'start': 44.669, 'duration': 9.027}, {'end': 63.942, 'text': "and that's where it has grown and flourished, although you can use javascript for databases, for the backend, for mobile applications.", 'start': 53.696, 'duration': 10.246}, {'end': 66.843, 'text': "JavaScript's home is in the front end client side.", 'start': 64.001, 'duration': 2.842}, {'end': 71.444, 'text': 'Development with HTML and CSS is one of those core three things.', 'start': 67.843, 'duration': 3.601}, {'end': 73.645, 'text': 'HTML is sort of the body.', 'start': 72.065, 'duration': 1.58}, {'end': 75.726, 'text': 'CSS is how it looks.', 'start': 73.685, 'duration': 2.041}, {'end': 79.54, 'text': "And JavaScript is making sure that it's dynamic.", 'start': 76.838, 'duration': 2.702}, {'end': 81.082, 'text': 'A little bit about me.', 'start': 80.381, 'duration': 0.701}, {'end': 83.924, 'text': "I've been working in JavaScript for about two and a half, three years.", 'start': 81.282, 'duration': 2.642}, {'end': 88.869, 'text': "I'm currently a front-end engineer, although I do full stack.", 'start': 86.426, 'duration': 2.443}, {'end': 90.83, 'text': "I'm also a content creator on YouTube.", 'start': 89.209, 'duration': 1.621}, {'end': 93.232, 'text': 'And if you click on the icon, you can go check out my channel.', 'start': 90.85, 'duration': 2.382}], 'summary': 'Javascript, written in 10 days, is an event-driven language used for dynamic web pages. html, css, and javascript are core front-end technologies. speaker has 2.5-3 years of javascript experience and works as a front-end engineer and content creator on youtube.', 'duration': 66.752, 'max_score': 26.48, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs26480.jpg'}], 'start': 4.379, 'title': 'Javascript: intro & challenges', 'summary': "Introduces javascript covering data types, control flow, and challenges in 14 lessons with seven challenges. it highlights javascript's event-driven nature, its web development growth, and the instructor's experience in the field.", 'chapters': [{'end': 93.232, 'start': 4.379, 'title': 'Intro to javascript: data types, control flow & challenges', 'summary': "Covers the introductory concepts of javascript, including data types, control flow, and challenges, spanning over 14 lessons with seven challenges, while highlighting javascript's event-driven nature, its growth in web development, and the instructor's experience in the field.", 'duration': 88.853, 'highlights': ['JavaScript was written in 10 days.', 'Covered over 14 lessons with seven different challenges.', "Instructor's experience in JavaScript for about two and a half, three years.", "JavaScript's primary use in front end client side development with HTML and CSS."]}], 'duration': 88.853, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs4379.jpg', 'highlights': ['Covered over 14 lessons with seven different challenges.', "Instructor's experience in JavaScript for about two and a half, three years.", "JavaScript's primary use in front end client side development with HTML and CSS.", 'JavaScript was written in 10 days.']}, {'end': 374.245, 'segs': [{'end': 167.94, 'src': 'embed', 'start': 139.575, 'weight': 0, 'content': [{'end': 143.698, 'text': "that's what console log does, um, but here we're storing a reference to the value.", 'start': 139.575, 'duration': 4.123}, {'end': 149.021, 'text': 'true, and if we we wanted to make this, you know dylan, for instance, and we saved it.', 'start': 143.698, 'duration': 5.323}, {'end': 149.781, 'text': "update it, you'll see.", 'start': 149.021, 'duration': 0.76}, {'end': 151.422, 'text': "it's going to print out dylan.", 'start': 149.781, 'duration': 1.641}, {'end': 154.445, 'text': "um, but don't worry about var.", 'start': 151.422, 'duration': 3.023}, {'end': 156.407, 'text': 'Instead of using var, what you want to use is let.', 'start': 154.465, 'duration': 1.942}, {'end': 161.753, 'text': "And when we get to for loops, I'll go into a little bit more detail as to why the var has been deprecated.", 'start': 156.567, 'duration': 5.186}, {'end': 167.94, 'text': "But right now, when you're storing values that you're going to override and the way that we override variables is,", 'start': 161.793, 'duration': 6.147}], 'summary': "Using 'let' instead of 'var' for storing and updating values in javascript.", 'duration': 28.365, 'max_score': 139.575, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs139575.jpg'}, {'end': 287.056, 'src': 'embed', 'start': 255.004, 'weight': 2, 'content': [{'end': 255.324, 'text': 'all right.', 'start': 255.004, 'duration': 0.32}, {'end': 257.964, 'text': "let's start by talking about what a string is.", 'start': 255.324, 'duration': 2.64}, {'end': 267.712, 'text': 'you saw earlier we printed out my name and with We print out my name using console log, and we have this variable here called name.', 'start': 257.964, 'duration': 9.748}, {'end': 270.915, 'text': "And so it's going to go ahead and print out Dylan, right? We showcased that earlier.", 'start': 267.732, 'duration': 3.183}, {'end': 274.098, 'text': 'So what this is called, this data type here is a string.', 'start': 271.275, 'duration': 2.823}, {'end': 281.171, 'text': 'We can actually use this type of word here, one word, to actually find out what it is we want to print it out.', 'start': 275.086, 'duration': 6.085}, {'end': 282.652, 'text': "And you'll see that it's printing out string.", 'start': 281.191, 'duration': 1.461}, {'end': 287.056, 'text': "So that's one way if you ever get confused, you can kind of check that out.", 'start': 283.633, 'duration': 3.423}], 'summary': "A string is a data type that can be printed using console log, such as the example 'dylan'.", 'duration': 32.052, 'max_score': 255.004, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs255004.jpg'}, {'end': 381.43, 'src': 'embed', 'start': 350.202, 'weight': 1, 'content': [{'end': 354.924, 'text': "It's gonna look all, They're gonna be touching right, and that doesn't look very good.", 'start': 350.202, 'duration': 4.722}, {'end': 360.527, 'text': 'and it used to be up until ES6, which is the 2015 edition of JavaScript.', 'start': 354.924, 'duration': 5.603}, {'end': 366.73, 'text': 'every year, the ECMAScript foundation, which runs JavaScript, adds new updates to the language.', 'start': 360.527, 'duration': 6.203}, {'end': 374.245, 'text': 'that we would have to do something like that now, in in as of 2015, which is three years ago.', 'start': 366.73, 'duration': 7.515}, {'end': 381.43, 'text': "it has browser support throughout the throughout the world, so you don't have to worry about it not working in any language.", 'start': 374.245, 'duration': 7.185}], 'summary': 'Javascript has been updated annually since 2015, ensuring worldwide browser support.', 'duration': 31.228, 'max_score': 350.202, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs350202.jpg'}], 'start': 93.573, 'title': 'Javascript variables, values, declarations & data types', 'summary': "Covers the importance of 'let' over 'var' for value storage in javascript, the differences between 'let' and 'const', and the introduction of strings in javascript. it also highlights the evolving language updates in javascript from es6 onwards.", 'chapters': [{'end': 178.594, 'start': 93.573, 'title': 'Javascript variables and values', 'summary': "Covers the importance of using 'let' over 'var' in javascript for storing and overriding values, and introduces the concept of console.log for printing values.", 'duration': 85.021, 'highlights': ["The importance of using 'let' over 'var' in JavaScript for storing and overriding values is emphasized, with 'var' being deprecated.", 'Introduction to the concept of console.log for printing values and storing references to values in JavaScript.']}, {'end': 255.004, 'start': 179.614, 'title': 'Javascript variable declarations', 'summary': "Explains the differences between 'let' and 'const' in javascript, highlighting that 'const' cannot be overwritten when dealing with primitive values, while 'let' allows for value reassignment, and it also hints at diving into data types in the next video.", 'duration': 75.39, 'highlights': ["The reason for that is when you're dealing with a constant, when you're talking about strings, when you're talking about booleans, when you're talking about numbers, constants cannot be overwritten when dealing with primitive values.", "Typically, if you're going to override values like so, or if we wanted to override right here, we would use a const, but if we're going to reset a value, potentially we're going to use let.", "We're going to dive a little bit more into detail about how that is typically true, unless we're dealing with arrays or objects in the next video, we're going to talk about data types."]}, {'end': 374.245, 'start': 255.004, 'title': 'Javascript data types & concatenation', 'summary': 'Introduces the concept of strings in javascript, demonstrating the use of double and single quotes, concatenation of strings, and the addition of spaces to create readable strings, highlighting the evolution of javascript from es6 onwards with added language updates.', 'duration': 119.241, 'highlights': ["The concept of strings in JavaScript is introduced, demonstrating the use of double and single quotes, and showcasing the concatenation of strings (e.g., 'first name' + ' ' + 'last name') to create readable strings.", 'The addition of spaces is shown to create well-formatted strings, emphasizing the importance of conventions such as ending statements with semicolons for clarity and readability.', 'The evolution of JavaScript from ES6 onwards is mentioned, highlighting the regular updates by the ECMAScript foundation, which has enhanced the language with new features and improvements annually since 2015.']}], 'duration': 280.672, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs93573.jpg', 'highlights': ["The importance of using 'let' over 'var' in JavaScript for storing and overriding values is emphasized, with 'var' being deprecated.", 'The evolution of JavaScript from ES6 onwards is mentioned, highlighting the regular updates by the ECMAScript foundation, which has enhanced the language with new features and improvements annually since 2015.', "The concept of strings in JavaScript is introduced, demonstrating the use of double and single quotes, and showcasing the concatenation of strings (e.g., 'first name' + ' ' + 'last name') to create readable strings."]}, {'end': 958.753, 'segs': [{'end': 401.523, 'src': 'embed', 'start': 374.245, 'weight': 0, 'content': [{'end': 381.43, 'text': "it has browser support throughout the throughout the world, so you don't have to worry about it not working in any language.", 'start': 374.245, 'duration': 7.185}, {'end': 385.833, 'text': "we can use what's called string and full string interpolation.", 'start': 381.43, 'duration': 4.403}, {'end': 394.418, 'text': "you'll notice these back tick icons and if you're having an issue falling, finding them on your keyboard, it's to the left of the one.", 'start': 385.833, 'duration': 8.585}, {'end': 401.523, 'text': 'what this is going to allow us to do is essentially throw in our variables with this dollar sign curly brace, opening, curly brace,', 'start': 394.418, 'duration': 7.105}], 'summary': 'Javascript template strings enable string interpolation with back ticks and ${} syntax.', 'duration': 27.278, 'max_score': 374.245, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs374245.jpg'}, {'end': 469.064, 'src': 'embed', 'start': 436.818, 'weight': 3, 'content': [{'end': 439.001, 'text': "And we'll go into a little bit more detail about that later on.", 'start': 436.818, 'duration': 2.183}, {'end': 447.512, 'text': 'But in our example here, JavaScript strings come with some methods that allow them to do certain things for us.', 'start': 439.481, 'duration': 8.031}, {'end': 453.44, 'text': "And a good example of that is, let's say we wanted to have this print out.", 'start': 448.153, 'duration': 5.287}, {'end': 456.925, 'text': 'We have this long, long length here.', 'start': 454.381, 'duration': 2.544}, {'end': 460.479, 'text': 'we can call this property.length just to get an idea here.', 'start': 457.557, 'duration': 2.922}, {'end': 463.781, 'text': "You'll see, we have 24 spaces, which is a lot right?", 'start': 460.799, 'duration': 2.982}, {'end': 469.064, 'text': "So each one of these is a single space and we've added a bunch and we add some more on here.", 'start': 463.801, 'duration': 5.263}], 'summary': 'Javascript strings have methods, e.g. property.length, which can be used to perform certain operations. for instance, a long string with 24 spaces can be measured using this property.', 'duration': 32.246, 'max_score': 436.818, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs436818.jpg'}, {'end': 633.32, 'src': 'embed', 'start': 605.701, 'weight': 4, 'content': [{'end': 611.168, 'text': 'So those are just a few of the more popular, if you will, and widely used string methods.', 'start': 605.701, 'duration': 5.467}, {'end': 613.671, 'text': "Let's go ahead and talk a little bit about numbers next.", 'start': 611.508, 'duration': 2.163}, {'end': 621.252, 'text': "All right, we're at our first challenge here for the strings.", 'start': 618.871, 'duration': 2.381}, {'end': 626.115, 'text': 'And what the objective here is, we have our first name and we have our last name.', 'start': 621.533, 'duration': 4.582}, {'end': 633.32, 'text': 'What we want to do is we want to concatenate a value called full name that is then going to be printed out.', 'start': 626.536, 'duration': 6.784}], 'summary': 'Covered popular string methods, moving on to numbers, and introduced a challenge to concatenate first and last names into a full name.', 'duration': 27.619, 'max_score': 605.701, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs605701.jpg'}, {'end': 820.113, 'src': 'embed', 'start': 771.735, 'weight': 1, 'content': [{'end': 779.43, 'text': 'Now, sometimes you may want to get the floating point number, which we can do with parseFloat, just as easily.', 'start': 771.735, 'duration': 7.695}, {'end': 784.017, 'text': 'So we may not want to drop that value, we want the whole value.', 'start': 781.216, 'duration': 2.801}, {'end': 786.037, 'text': "So that's one way we can use it.", 'start': 784.357, 'duration': 1.68}, {'end': 794.259, 'text': "You'll also notice that we can get this out of a stringified number like so and save that and you'll see we'll actually get the number value from it.", 'start': 786.077, 'duration': 8.182}, {'end': 802.081, 'text': 'So we can parse and float from a string as well as parse that int from a stringified number as well.', 'start': 794.339, 'duration': 7.742}, {'end': 811.345, 'text': "Now let's say that we wanted to return a certain amount of decimal places for our number that we have here.", 'start': 804.318, 'duration': 7.027}, {'end': 814.147, 'text': "What we could do is, let's go ahead and get rid of this percent.", 'start': 811.725, 'duration': 2.422}, {'end': 817.911, 'text': 'We can use the toFix, which will return it.', 'start': 814.868, 'duration': 3.043}, {'end': 820.113, 'text': 'And this is not only, excuse me, .', 'start': 818.131, 'duration': 1.982}], 'summary': 'Using parsefloat to get floating point numbers and tofix to specify decimal places.', 'duration': 48.378, 'max_score': 771.735, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs771735.jpg'}], 'start': 374.245, 'title': 'Javascript and number methods', 'summary': 'Covers javascript strings including string interpolation, methods like length and trim, and string concatenation. it also explores string methods like uppercase, lowercase, and split, and number methods like parseint, parsefloat, and tofixed, with examples and explanations of each method.', 'chapters': [{'end': 527.549, 'start': 374.245, 'title': 'Javascript strings and methods', 'summary': 'Covers javascript strings, including string interpolation, methods such as length and trim, and emphasizes the importance of using curly braces for string concatenation and provides examples of using string properties and methods.', 'duration': 153.304, 'highlights': ['String interpolation allows for easy insertion of variables into strings using back ticks and curly braces, improving readability and ease of use.', 'Methods like length and trim are essential for manipulating strings, with length property providing quantifiable data about the length of the string.', 'Emphasizes the importance of using curly braces for string concatenation, providing a cleaner and more efficient way of adding strings together.']}, {'end': 958.753, 'start': 527.549, 'title': 'String and number methods', 'summary': 'Covers string methods like uppercase, lowercase, and split, as well as number methods like parseint, parsefloat, and tofixed, with examples and explanations of each method.', 'duration': 431.204, 'highlights': ['The chapter covers string methods like uppercase, lowercase, and split, as well as number methods like parseInt, parseFloat, and toFixed.', 'The method toFixed is demonstrated, showing how it can be used to control the number of decimal places in a number, including rounding.', 'The concept of concatenating strings using backticks and the dollar sign is explained as a modern approach in ES6.', 'The use of parseInt and parseFloat functions is demonstrated, showcasing their ability to extract numerical values from strings.', 'The transcript provides an overview of the single number type in JavaScript and how it handles different numerical values.']}], 'duration': 584.508, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs374245.jpg', 'highlights': ['String interpolation allows for easy insertion of variables into strings using back ticks and curly braces, improving readability and ease of use.', 'The method toFixed is demonstrated, showing how it can be used to control the number of decimal places in a number, including rounding.', 'The use of parseInt and parseFloat functions is demonstrated, showcasing their ability to extract numerical values from strings.', 'Methods like length and trim are essential for manipulating strings, with length property providing quantifiable data about the length of the string.', 'The chapter covers string methods like uppercase, lowercase, and split, as well as number methods like parseInt, parseFloat, and toFixed.']}, {'end': 1333.338, 'segs': [{'end': 1000.472, 'src': 'embed', 'start': 959.373, 'weight': 0, 'content': [{'end': 962.796, 'text': 'Great You may be wondering why these are different colors.', 'start': 959.373, 'duration': 3.423}, {'end': 967.88, 'text': "What do you think the types of all these are? Let's go ahead and continue with part two of this challenge.", 'start': 963.216, 'duration': 4.664}, {'end': 971.543, 'text': 'So try and figure out what each one of these console log types are.', 'start': 968.38, 'duration': 3.163}, {'end': 974.834, 'text': 'All right, hopefully you had a moment to think about it.', 'start': 972.893, 'duration': 1.941}, {'end': 980.138, 'text': "So this first one is going to be a number because we're actually pulling out a number from it.", 'start': 974.954, 'duration': 5.184}, {'end': 984.041, 'text': "Same thing with this second one, even though we're pulling it out of a string number.", 'start': 980.198, 'duration': 3.843}, {'end': 990.005, 'text': "Now this two fix, the two fix number property, what do you think that's going to be? It'll be a string.", 'start': 984.401, 'duration': 5.604}, {'end': 995.348, 'text': 'It actually converts it to a string when it rounds it up or drops or adds those values on.', 'start': 990.585, 'duration': 4.763}, {'end': 997.05, 'text': 'Same thing here.', 'start': 996.309, 'duration': 0.741}, {'end': 1000.472, 'text': 'So just a little wonkiness in JavaScript worth mentioning.', 'start': 997.39, 'duration': 3.082}], 'summary': 'Identifying data types in console log outputs: numbers and strings.', 'duration': 41.099, 'max_score': 959.373, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs959373.jpg'}, {'end': 1058.169, 'src': 'embed', 'start': 1027.682, 'weight': 3, 'content': [{'end': 1028.882, 'text': 'So Booleans are true or false.', 'start': 1027.682, 'duration': 1.2}, {'end': 1030.464, 'text': 'It either has to be one or the other.', 'start': 1028.903, 'duration': 1.561}, {'end': 1037.425, 'text': 'Where things get a little tricky with Booleans are when we start dealing with truthy values and falsy values.', 'start': 1031.396, 'duration': 6.029}, {'end': 1042.934, 'text': 'Now, one thing I did want to mention is that we have this Boolean.', 'start': 1037.886, 'duration': 5.048}, {'end': 1048.963, 'text': "function here that's going to evaluate if something is a true or false value.", 'start': 1045.14, 'duration': 3.823}, {'end': 1052.805, 'text': "So you'll see here if we save it, it's going to print out false right?", 'start': 1050.063, 'duration': 2.742}, {'end': 1055.167, 'text': 'Because it is a false Boolean.', 'start': 1052.825, 'duration': 2.342}, {'end': 1058.169, 'text': "and it's going to print out true because it is a true Boolean.", 'start': 1055.167, 'duration': 3.002}], 'summary': 'Booleans are true or false; evaluate truthy/falsy values with boolean function.', 'duration': 30.487, 'max_score': 1027.682, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs1027682.jpg'}, {'end': 1333.338, 'src': 'embed', 'start': 1293.223, 'weight': 4, 'content': [{'end': 1295.846, 'text': "Well, it's going to return null because it doesn't exist.", 'start': 1293.223, 'duration': 2.623}, {'end': 1297.128, 'text': 'Null or undefined.', 'start': 1296.087, 'duration': 1.041}, {'end': 1306.72, 'text': 'So something to keep in mind when working with arrays is that they do start on zero and the length is always going to be one greater than the last index value.', 'start': 1298.309, 'duration': 8.411}, {'end': 1313.221, 'text': "Now we're going to be talking about a few of the more common methods when it comes to arrays.", 'start': 1308.197, 'duration': 5.024}, {'end': 1319.907, 'text': "But one thing to keep in mind is there's about 20 or 25 methods with arrays that you're going to need to know inside and out.", 'start': 1313.542, 'duration': 6.365}, {'end': 1323.49, 'text': "And we're only going to touch on about three or four just to give you an idea of a few of them.", 'start': 1319.967, 'duration': 3.523}, {'end': 1327.814, 'text': "But you're going to probably need to review all of these.", 'start': 1324.391, 'duration': 3.423}, {'end': 1333.338, 'text': 'And perhaps in a separate course, we can deep dive into every single function.', 'start': 1328.014, 'duration': 5.324}], 'summary': 'Arrays start at zero, have length one greater than last index. about 20-25 methods to review.', 'duration': 40.115, 'max_score': 1293.223, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs1293223.jpg'}], 'start': 959.373, 'title': 'Javascript console log types and booleans and arrays', 'summary': "Discusses different types of console log outputs such as numbers and strings, highlighting the behavior of the 'two fix number property' and the 'wonkiness' in javascript. it also explores boolean values, including true and false values and truthy and falsy values, and delves into arrays, discussing how to instantiate arrays, accessing array elements, and common array methods.", 'chapters': [{'end': 1000.472, 'start': 959.373, 'title': 'Javascript console log types', 'summary': "Discusses different types of console log outputs such as numbers and strings, highlighting the behavior of the 'two fix number property' and the 'wonkiness' in javascript.", 'duration': 41.099, 'highlights': ["The 'two fix number property' is converted to a string when it rounds up or drops values, showcasing the behavior of JavaScript (quantifiable data: behavior of 'two fix number property').", 'The different console log types include numbers and strings, with examples demonstrating their extraction from different data types (quantifiable data: types of console log outputs).', "The 'wonkiness' in JavaScript is mentioned, indicating peculiar behavior in the language (quantifiable data: 'wonkiness' in JavaScript)."]}, {'end': 1333.338, 'start': 1006.266, 'title': 'Booleans and arrays', 'summary': 'Explores boolean values, including true and false values and truthy and falsy values, and delves into arrays, discussing how to instantiate arrays, accessing array elements, and common array methods.', 'duration': 327.072, 'highlights': ['Booleans are true or false values, and truthy values include numbers and strings, while falsy values include null, undefined, empty strings, NAN, and zero.', 'Arrays are containers for multiple values, and the length of an array is one greater than the last index value, with indexing starting at zero.', 'There are about 20 or 25 common methods with arrays, and the chapter will touch on only three or four of them.']}], 'duration': 373.965, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs959373.jpg', 'highlights': ["The 'two fix number property' is converted to a string when it rounds up or drops values, showcasing the behavior of JavaScript", 'The different console log types include numbers and strings, with examples demonstrating their extraction from different data types', "The 'wonkiness' in JavaScript is mentioned, indicating peculiar behavior in the language", 'Booleans are true or false values, and truthy values include numbers and strings, while falsy values include null, undefined, empty strings, NAN, and zero', 'Arrays are containers for multiple values, and the length of an array is one greater than the last index value, with indexing starting at zero', 'There are about 20 or 25 common methods with arrays, and the chapter will touch on only three or four of them']}, {'end': 1948.911, 'segs': [{'end': 1388.014, 'src': 'embed', 'start': 1333.478, 'weight': 3, 'content': [{'end': 1335.98, 'text': 'I have a Udemy course that does exactly that.', 'start': 1333.478, 'duration': 2.502}, {'end': 1340.313, 'text': 'But And say we want to add a value here to example one.', 'start': 1336.481, 'duration': 3.832}, {'end': 1342.254, 'text': 'We use the push method.', 'start': 1340.613, 'duration': 1.641}, {'end': 1346.856, 'text': "And let's go ahead and push the number eight on there.", 'start': 1343.614, 'duration': 3.242}, {'end': 1350.038, 'text': "And we'll change this to console log what we want to put out.", 'start': 1347.416, 'duration': 2.622}, {'end': 1353.539, 'text': "And you'll see now we're going to add that last value.", 'start': 1350.278, 'duration': 3.261}, {'end': 1356.561, 'text': 'And we can use push add multiple values.', 'start': 1353.559, 'duration': 3.002}, {'end': 1359.102, 'text': "So they're eight, nine, ten.", 'start': 1356.581, 'duration': 2.521}, {'end': 1360.143, 'text': 'Save that.', 'start': 1359.622, 'duration': 0.521}, {'end': 1362.384, 'text': "Bam So it's going to add all of them.", 'start': 1360.983, 'duration': 1.401}, {'end': 1365.045, 'text': "But let's say we want to remove the last value.", 'start': 1362.644, 'duration': 2.401}, {'end': 1366.506, 'text': 'We can use the pop value.', 'start': 1365.185, 'duration': 1.321}, {'end': 1370.85, 'text': "method here that's going to remove the last value.", 'start': 1367.549, 'duration': 3.301}, {'end': 1382.393, 'text': "Now one thing that's one way to add and remove the last values.", 'start': 1370.87, 'duration': 11.523}, {'end': 1386.574, 'text': "Now there's ways of adding the beginning values and adding a certain index value.", 'start': 1382.713, 'duration': 3.861}, {'end': 1388.014, 'text': "We're not going to worry about that too much.", 'start': 1386.594, 'duration': 1.42}], 'summary': 'Using push method to add value, pop method to remove last value, and adding multiple values with push.', 'duration': 54.536, 'max_score': 1333.478, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs1333478.jpg'}, {'end': 1572.534, 'src': 'embed', 'start': 1500.556, 'weight': 0, 'content': [{'end': 1506.08, 'text': "The reason for that is that when you're dealing with arrays and objects, you're passing by reference.", 'start': 1500.556, 'duration': 5.524}, {'end': 1511.944, 'text': 'what that basically means is example two is setting a reference or referring to example one.', 'start': 1506.52, 'duration': 5.424}, {'end': 1514.045, 'text': "it's not actually creating a new array.", 'start': 1511.944, 'duration': 2.101}, {'end': 1518.848, 'text': "so when you push the example two, you're actually pushing to example one.", 'start': 1514.045, 'duration': 4.803}, {'end': 1523.271, 'text': 'and uh, how can we, how can we create a new array but still have these values in it?', 'start': 1518.848, 'duration': 4.423}, {'end': 1524.532, 'text': 'well, a couple different ways.', 'start': 1523.271, 'duration': 1.261}, {'end': 1535.758, 'text': 'we can use the spread operator, uh, which is going to dot, dot, dot, going to unwrap these values in a new array like so and so.', 'start': 1524.532, 'duration': 11.226}, {'end': 1537.198, 'text': 'this is going to these three dots.', 'start': 1535.758, 'duration': 1.44}, {'end': 1537.658, 'text': 'is some?', 'start': 1537.198, 'duration': 0.46}, {'end': 1545.08, 'text': "es6 is going to take all these values and essentially push them to this new array, and you'll see that's going to create a brand new array.", 'start': 1537.658, 'duration': 7.422}, {'end': 1547.641, 'text': "so it's not passing by reference anymore.", 'start': 1545.08, 'duration': 2.561}, {'end': 1552.362, 'text': 'another way that you can do this is using the map functionality.', 'start': 1547.641, 'duration': 4.721}, {'end': 1559.227, 'text': 'uh, with this, which is an array method that creates a brand new array like so, and this is going to be an element.', 'start': 1552.362, 'duration': 6.865}, {'end': 1565.943, 'text': "remember, the element really just refers to the current index value we're iterating over and we can return.", 'start': 1559.227, 'duration': 6.716}, {'end': 1570.113, 'text': 'that element is going to create a new array.', 'start': 1565.943, 'duration': 4.17}, {'end': 1572.534, 'text': 'this is going to be identical to the spread operator.', 'start': 1570.113, 'duration': 2.421}], 'summary': 'Dealing with arrays and objects, passing by reference, creating new array using spread operator or map functionality.', 'duration': 71.978, 'max_score': 1500.556, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs1500556.jpg'}, {'end': 1953.413, 'src': 'embed', 'start': 1926.477, 'weight': 2, 'content': [{'end': 1929.699, 'text': 'Oh There you go, sorry.', 'start': 1926.477, 'duration': 3.222}, {'end': 1932.661, 'text': 'Had a little bit of a issue here.', 'start': 1929.839, 'duration': 2.822}, {'end': 1934.923, 'text': "And it's going to take in two properties.", 'start': 1933.261, 'duration': 1.662}, {'end': 1939.786, 'text': 'First, what you want to assign it to, which in our case is an empty object.', 'start': 1935.003, 'duration': 4.783}, {'end': 1943.328, 'text': "And second, what it is that we're going to assign it to.", 'start': 1939.946, 'duration': 3.382}, {'end': 1948.911, 'text': "So you'll see here when we call objectAssign is going to create a brand new object, which is.", 'start': 1943.808, 'duration': 5.103}, {'end': 1953.413, 'text': "I'm going to go ahead and put the example one values into example two.", 'start': 1948.911, 'duration': 4.502}], 'summary': 'Demonstrating the use of objectassign to create a new object with example one values assigned to example two.', 'duration': 26.936, 'max_score': 1926.477, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs1926477.jpg'}], 'start': 1333.478, 'title': 'Javascript array methods and objects', 'summary': 'Covers javascript array methods like push, pop, and demonstrates adding multiple values and removing the last value. it also explains overriding array values, iterating arrays, passing by reference, creating new arrays, working with objects and their properties, retrieving keys and values, and creating new objects using object assign method.', 'chapters': [{'end': 1388.014, 'start': 1333.478, 'title': 'Javascript array methods', 'summary': 'Explains how to add and remove values from an array using push, pop, and other methods, demonstrating the addition of multiple values and the removal of the last value.', 'duration': 54.536, 'highlights': ['The push method is used to add a value to the example array, such as pushing the number eight onto it.', 'The pop method is demonstrated to remove the last value from the array.', 'Adding multiple values using push, such as eight, nine, and ten, is showcased.']}, {'end': 1948.911, 'start': 1389.095, 'title': 'Javascript arrays and objects', 'summary': 'Covers how to override array values, iterate through an array using the foreach statement, the concept of passing by reference in arrays and objects, creating new arrays using spread operator and map method, working with objects and their properties, methods for retrieving keys and values from an object, and creating a new object using object assign method.', 'duration': 559.816, 'highlights': ['The spread operator can create a brand new array by unwrapping the values from an existing array, providing a solution for not passing by reference.', 'The map method creates a new array by iterating over the elements of an existing array, similar to the spread operator but providing an alternative approach.', 'Understanding the concept of passing by reference in arrays and objects is crucial, as modifying one array or object can unintentionally affect the original array or object.', 'The object.keys method can be used to retrieve all the keys from an object, facilitating the extraction of key information for further processing.', 'The object.assign method creates a new object by copying the values from an existing object, providing a means to instantiate a new object with specific properties and values.']}], 'duration': 615.433, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs1333478.jpg', 'highlights': ['The spread operator creates a new array by unwrapping values from an existing array', 'The map method iterates over elements of an array, providing an alternative approach', 'The object.assign method creates a new object by copying values from an existing object', 'The push method adds a value to the array, such as pushing the number eight onto it', 'The pop method removes the last value from the array', 'Understanding passing by reference in arrays and objects is crucial']}, {'end': 2642.448, 'segs': [{'end': 2041.14, 'src': 'embed', 'start': 1997.658, 'weight': 0, 'content': [{'end': 2006.565, 'text': 'javascript is intelligent enough to know the order of operations of math by default, and then we can of course divide this by four.', 'start': 1997.658, 'duration': 8.907}, {'end': 2008.307, 'text': 'so this is going to be 16.', 'start': 2006.565, 'duration': 1.742}, {'end': 2010.988, 'text': 'divided by four would be four, 10, minus.', 'start': 2008.307, 'duration': 2.681}, {'end': 2012.909, 'text': 'four is going to return six.', 'start': 2010.988, 'duration': 1.921}, {'end': 2018.411, 'text': "so we have all the standard math functionality when we're dealing with our arithmetic operators.", 'start': 2012.909, 'duration': 5.502}, {'end': 2019.751, 'text': 'all right.', 'start': 2018.411, 'duration': 1.34}, {'end': 2027.214, 'text': "so hopefully those math operators here were a little bit of uh, introduction or repetitive, and you're like, oh man, i know how to plus and minus.", 'start': 2019.751, 'duration': 7.463}, {'end': 2033.216, 'text': "excellent. so let's hit you with something that you may not be familiar with, that's the modulo operator or modulus operator.", 'start': 2027.214, 'duration': 6.002}, {'end': 2034.436, 'text': 'so you see this percent sign.', 'start': 2033.216, 'duration': 1.22}, {'end': 2036.699, 'text': 'This is going to return zero.', 'start': 2035.259, 'duration': 1.44}, {'end': 2041.14, 'text': 'Why is that? Well, modulo returns remainders of numbers.', 'start': 2036.779, 'duration': 4.361}], 'summary': 'Javascript handles arithmetic operations intelligently, including modulo for calculating remainders.', 'duration': 43.482, 'max_score': 1997.658, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs1997658.jpg'}, {'end': 2110.555, 'src': 'embed', 'start': 2083.86, 'weight': 2, 'content': [{'end': 2091.826, 'text': "We didn't really dive into it, but relational operators will compare two items and then return a Boolean value, a true or false value.", 'start': 2083.86, 'duration': 7.966}, {'end': 2102.314, 'text': "So, when we take example one, which is 10, and we say greater than or equal to example two, what you're going to expect it to return is false,", 'start': 2091.886, 'duration': 10.428}, {'end': 2104.754, 'text': 'right?. because 10 is not greater than or equal to.', 'start': 2102.314, 'duration': 2.44}, {'end': 2110.555, 'text': 'However, if this was 15, it equals it, so it is greater than or equal to.', 'start': 2104.774, 'duration': 5.781}], 'summary': 'Relational operators compare items, returning true or false. for example, 10 is not greater than or equal to example two, but 15 is.', 'duration': 26.695, 'max_score': 2083.86, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs2083860.jpg'}, {'end': 2201.789, 'src': 'embed', 'start': 2177.062, 'weight': 3, 'content': [{'end': 2182.604, 'text': 'Before we move on to the challenge, I want to actually talk about this double equals and triple equals and what that basically means.', 'start': 2177.062, 'duration': 5.542}, {'end': 2188.685, 'text': 'Remember earlier when we were console logging out the data type?', 'start': 2183.064, 'duration': 5.621}, {'end': 2195.507, 'text': "So in our example here we're going to log out the type of example one and the type of example two,", 'start': 2188.825, 'duration': 6.682}, {'end': 2198.528, 'text': 'which is going to return number and number right now.', 'start': 2195.507, 'duration': 3.021}, {'end': 2201.789, 'text': 'So JavaScript is a dynamically typed language.', 'start': 2199.408, 'duration': 2.381}], 'summary': 'Javascript is a dynamically typed language, using double and triple equals for comparing data types.', 'duration': 24.727, 'max_score': 2177.062, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs2177062.jpg'}, {'end': 2570.449, 'src': 'embed', 'start': 2540.864, 'weight': 4, 'content': [{'end': 2547.449, 'text': "All right, in our increment and decrement challenge, we're gonna hit you with something you really haven't been exposed to, one of the stranger parts.", 'start': 2540.864, 'duration': 6.585}, {'end': 2551.394, 'text': "So you'll see here we have example one and example two, both equal to five.", 'start': 2548.45, 'duration': 2.944}, {'end': 2554.517, 'text': "And then you're seeing here we're adding one to example five.", 'start': 2551.754, 'duration': 2.763}, {'end': 2557.601, 'text': "We didn't talk about plus plus on the front of a variable.", 'start': 2554.578, 'duration': 3.023}, {'end': 2561.846, 'text': 'What do you think the difference between these two might be? There is a difference.', 'start': 2558.042, 'duration': 3.804}, {'end': 2563.789, 'text': "It's subtle, but there is a difference.", 'start': 2561.927, 'duration': 1.862}, {'end': 2570.449, 'text': "What do you think it might be? All right, so let's go ahead and uncomment these lines of code here and see what the values are.", 'start': 2563.829, 'duration': 6.62}], 'summary': 'Increment and decrement challenge with examples equal to five, adding one to example five, exploring the difference between plus plus on the front of a variable.', 'duration': 29.585, 'max_score': 2540.864, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs2540864.jpg'}, {'end': 2636.965, 'src': 'embed', 'start': 2601.7, 'weight': 5, 'content': [{'end': 2603.341, 'text': "So you see it's five and six.", 'start': 2601.7, 'duration': 1.641}, {'end': 2611.624, 'text': "The reason for that is when we do the plus plus on the end, it's going to add this value after this line of code.", 'start': 2603.861, 'duration': 7.763}, {'end': 2615.886, 'text': "If you do it on the beginning, it's essentially going to do it within the line of code.", 'start': 2612.224, 'duration': 3.662}, {'end': 2618.635, 'text': 'Now, It depends.', 'start': 2616.326, 'duration': 2.309}, {'end': 2623.738, 'text': "There's very few instances where I've ever found a need to have to do the plus plus on the beginning.", 'start': 2619.436, 'duration': 4.302}, {'end': 2628.1, 'text': "Typically, you'll see most lines of code will just have this as its own line of code.", 'start': 2624.198, 'duration': 3.902}, {'end': 2636.965, 'text': "But if you wanted to add the iteration on the exact line of code, you'd have to throw it on the beginning of your variable.", 'start': 2628.12, 'duration': 8.845}], 'summary': 'Adding ++ at end adds value after line of code; at beginning, within line. few instances need ++ at beginning.', 'duration': 35.265, 'max_score': 2601.7, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs2601700.jpg'}], 'start': 1948.911, 'title': 'Javascript operations and comparisons', 'summary': 'Covers arithmetic operators for addition, subtraction, multiplication, and division, modulo operator for finding remainders, and relational operators for comparing numbers. it also explains the difference between double equals and triple equals, highlighting the comparison of values and data types, and demonstrates incrementing and decrementing variables using various operators.', 'chapters': [{'end': 2175.136, 'start': 1948.911, 'title': 'Javascript operators and modulo', 'summary': 'Covers arithmetic operators for addition, subtraction, multiplication, and division in javascript, along with the modulo operator for finding remainders, and relational operators for comparing numbers, with examples and explanations.', 'duration': 226.225, 'highlights': ['The chapter covers arithmetic operators for addition, subtraction, multiplication, and division in JavaScript.', 'Explains the modulo operator for finding remainders.', 'Covers relational operators for comparing numbers, with examples and explanations.']}, {'end': 2642.448, 'start': 2177.062, 'title': 'Javascript double and triple equals comparison', 'summary': 'Explains the difference between double equals and triple equals in javascript, highlighting the comparison of values and data types, and also demonstrates incrementing and decrementing variables using various operators and their effects on the values.', 'duration': 465.386, 'highlights': ['JavaScript has double equals and triple equals comparison for value and type checking.', 'Incrementing and decrementing variables can be done using plus plus and minus minus operators.', 'Difference between using plus plus at the end and at the beginning of a variable.']}], 'duration': 693.537, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs1948911.jpg', 'highlights': ['Covers arithmetic operators for addition, subtraction, multiplication, and division in JavaScript.', 'Explains the modulo operator for finding remainders.', 'Covers relational operators for comparing numbers, with examples and explanations.', 'JavaScript has double equals and triple equals comparison for value and type checking.', 'Incrementing and decrementing variables can be done using plus plus and minus minus operators.', 'Difference between using plus plus at the end and at the beginning of a variable.']}, {'end': 3220.966, 'segs': [{'end': 2674.26, 'src': 'embed', 'start': 2647.108, 'weight': 2, 'content': [{'end': 2654.211, 'text': "Let's go ahead and talk a little bit about control flow using if, else if, and else, and what they are.", 'start': 2647.108, 'duration': 7.103}, {'end': 2658.673, 'text': 'So sometimes you only want your code to run for certain reasons.', 'start': 2655.312, 'duration': 3.361}, {'end': 2665.116, 'text': 'So in our if statement like so, we can say, we can pass an example, which is five.', 'start': 2658.773, 'duration': 6.343}, {'end': 2667.957, 'text': "We're saying if this is equal, equal to five, meaning.", 'start': 2665.496, 'duration': 2.461}, {'end': 2669.238, 'text': 'does this evaluate to true?', 'start': 2667.957, 'duration': 1.281}, {'end': 2671.559, 'text': 'Go ahead and console.log.', 'start': 2670.118, 'duration': 1.441}, {'end': 2674.26, 'text': 'where do we want to put this?', 'start': 2671.559, 'duration': 2.701}], 'summary': 'Introduction to control flow using if, else if, and else in coding', 'duration': 27.152, 'max_score': 2647.108, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs2647108.jpg'}, {'end': 2911.736, 'src': 'embed', 'start': 2884.136, 'weight': 1, 'content': [{'end': 2890.439, 'text': 'Again, or is saying, hey, if either one fails, and then and would be, you know, if both are true.', 'start': 2884.136, 'duration': 6.303}, {'end': 2892.941, 'text': 'And we can do this as many times as we need in our code.', 'start': 2890.599, 'duration': 2.342}, {'end': 2903.449, 'text': "All right, let's see if you can guess the true or false values using our and and or operators.", 'start': 2897.505, 'duration': 5.944}, {'end': 2905.491, 'text': 'We have three of them.', 'start': 2904.33, 'duration': 1.161}, {'end': 2908.153, 'text': "Take a second, take a look, and then we'll go piece by piece.", 'start': 2905.711, 'duration': 2.442}, {'end': 2911.736, 'text': 'All right, hopefully you took a second to take a look.', 'start': 2909.874, 'duration': 1.862}], 'summary': 'Learning about and/or operators for true/false values in code.', 'duration': 27.6, 'max_score': 2884.136, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs2884136.jpg'}, {'end': 3053.966, 'src': 'embed', 'start': 3029.996, 'weight': 0, 'content': [{'end': 3038.459, 'text': 'Switch statements are going to feel very similar to an if else if or else statement because it is, again, some control flow on your code.', 'start': 3029.996, 'duration': 8.463}, {'end': 3045.962, 'text': "But the difference with a switch statement is, say we're checking a finite amount of answers and you want to know,", 'start': 3039.16, 'duration': 6.802}, {'end': 3050.344, 'text': 'you only want to run some code for three or four answers and then you have a default.', 'start': 3045.962, 'duration': 4.382}, {'end': 3053.966, 'text': 'A switch statement is really a different way of writing an if else if or else statement.', 'start': 3050.444, 'duration': 3.522}], 'summary': 'Switch statements offer a different way of writing if-else statements for checking finite answers.', 'duration': 23.97, 'max_score': 3029.996, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs3029996.jpg'}], 'start': 2647.108, 'title': 'Control flow in javascript', 'summary': 'Covers the usage of if, else if, else, and and or statements, as well as the usage of switch statements in javascript for controlling code execution based on conditions, with examples and detailed explanations.', 'chapters': [{'end': 2696.171, 'start': 2647.108, 'title': 'Control flow with if statements', 'summary': 'Covers the usage of if, else if, and else statements for controlling code execution based on conditions, with an example demonstrating the evaluation of a condition and its impact on code execution.', 'duration': 49.063, 'highlights': ['The if, else if, and else statements are used to control code execution based on certain conditions, allowing for selective running of code.', "An example is demonstrated where a condition is evaluated using the 'if' statement, resulting in different code execution based on the condition being true or false.", 'The example showcases the impact of the evaluated condition on code execution, with a specific value resulting in code execution and a different value leading to no code execution.']}, {'end': 3220.966, 'start': 2696.191, 'title': 'Control flow in javascript', 'summary': 'Explains the concepts of if, else if, else, and and or statements, as well as the usage of switch statements in javascript, with examples and detailed explanations.', 'duration': 524.775, 'highlights': ['The if, else if, and else statements in JavaScript are used for controlling the flow of code execution based on logical conditions, where else if is only executed if the preceding if statement fails.', 'The and and or operators in JavaScript are used to evaluate multiple conditions, with and requiring all conditions to be true and or requiring at least one condition to be true for the code to be executed.', 'Switch statements in JavaScript provide an alternative way of writing if-else statements, especially useful when dealing with a finite set of possible values and a default case.']}], 'duration': 573.858, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs2647108.jpg', 'highlights': ['Switch statements in JavaScript provide an alternative way of writing if-else statements, especially useful when dealing with a finite set of possible values and a default case.', 'The and and or operators in JavaScript are used to evaluate multiple conditions, with and requiring all conditions to be true and or requiring at least one condition to be true for the code to be executed.', 'The if, else if, and else statements are used to control code execution based on certain conditions, allowing for selective running of code.']}, {'end': 4015.333, 'segs': [{'end': 3323.789, 'src': 'embed', 'start': 3296.211, 'weight': 1, 'content': [{'end': 3305.834, 'text': 'So how might we now modify our code to add the values of i to total? Well, we can do that by just doing total plus equals to i.', 'start': 3296.211, 'duration': 9.623}, {'end': 3313.923, 'text': "Now let's go ahead and console.logout the values of total, which we know are those index values.", 'start': 3307.179, 'duration': 6.744}, {'end': 3321.508, 'text': "So when we console.logout total, you'll see that it has now added all of our values to equal 10.", 'start': 3314.383, 'duration': 7.125}, {'end': 3323.789, 'text': 'So 0 plus 1 is 1, plus 2 is 3, plus 3 is 6, plus 4 is 10.', 'start': 3321.508, 'duration': 2.281}], 'summary': 'Code modification added index values to total, resulting in a sum of 10.', 'duration': 27.578, 'max_score': 3296.211, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs3296211.jpg'}, {'end': 3460.682, 'src': 'embed', 'start': 3425.87, 'weight': 0, 'content': [{'end': 3428.373, 'text': "And you'll see that we get all our values in the console.", 'start': 3425.87, 'duration': 2.503}, {'end': 3431.229, 'text': "So we're already adding all those values.", 'start': 3429.147, 'duration': 2.082}, {'end': 3435.172, 'text': "And now we've been able to access them with our I variable here.", 'start': 3431.409, 'duration': 3.763}, {'end': 3444.099, 'text': "And so at the end, we get a very large 360 number because we've added all the values in our number array.", 'start': 3435.913, 'duration': 8.186}, {'end': 3449.784, 'text': "And vice versa, if we added 90 on here, you'll see that it will run and we don't have to refactor any of our code.", 'start': 3444.44, 'duration': 5.344}, {'end': 3460.682, 'text': "So let's say we wanna repeat our code, but we don't know, there's not a finite amount of answers, so we can't use a switch case.", 'start': 3454.434, 'duration': 6.248}], 'summary': 'Values in console, summing array, large 360 number, code flexibility', 'duration': 34.812, 'max_score': 3425.87, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs3425870.jpg'}, {'end': 3618.506, 'src': 'embed', 'start': 3596.354, 'weight': 2, 'content': [{'end': 3604.818, 'text': "So while loops are a way to run your logic, run your code for a set amount of time when you don't know how many times that's going to be.", 'start': 3596.354, 'duration': 8.464}, {'end': 3612.082, 'text': "Now there's also do while loops, which are a little bit different than while loops.", 'start': 3605.658, 'duration': 6.424}, {'end': 3618.506, 'text': 'The main difference between a while loop and a do while loop is a do while loop will run at least once.', 'start': 3612.563, 'duration': 5.943}], 'summary': 'While loops run code for a set time; do while loops run at least once.', 'duration': 22.152, 'max_score': 3596.354, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs3596354.jpg'}, {'end': 3778.587, 'src': 'embed', 'start': 3749.018, 'weight': 3, 'content': [{'end': 3754.021, 'text': 'Part of being a software developer, part of being any developer, is writing reusable code.', 'start': 3749.018, 'duration': 5.003}, {'end': 3759.085, 'text': "And it's a part of development that you're going to have to get comfortable with.", 'start': 3754.222, 'duration': 4.863}, {'end': 3761.107, 'text': "So let's go ahead and define a function.", 'start': 3759.365, 'duration': 1.742}, {'end': 3763.068, 'text': "We'll write a simple function called add.", 'start': 3761.227, 'duration': 1.841}, {'end': 3768.539, 'text': 'In JavaScript, you just note it by the keyword, the name of the function, and then these parentheses.', 'start': 3763.655, 'duration': 4.884}, {'end': 3771.001, 'text': 'And then we have our curly braces for our logic.', 'start': 3768.819, 'duration': 2.182}, {'end': 3778.587, 'text': "So in our example here, if we just want to console.log add, and you'll see we'll save, nothing happens.", 'start': 3771.081, 'duration': 7.506}], 'summary': 'Developers need to write reusable code and define functions for efficient development.', 'duration': 29.569, 'max_score': 3749.018, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs3749018.jpg'}, {'end': 3991.625, 'src': 'embed', 'start': 3966.445, 'weight': 4, 'content': [{'end': 3972.751, 'text': 'I think it covers a lot of great introductory topics to JavaScript and can be a great benefit.', 'start': 3966.445, 'duration': 6.306}, {'end': 3980.357, 'text': "Now, where do we go from here? Because in learning, it's all about practicing and retaining that information.", 'start': 3973.051, 'duration': 7.306}, {'end': 3985.161, 'text': 'It may all make sense at that moment, but we want to make sure that it makes sense for the rest of your life.', 'start': 3980.437, 'duration': 4.724}, {'end': 3987.342, 'text': 'And to do that, you need to start practicing with it.', 'start': 3985.221, 'duration': 2.121}, {'end': 3991.625, 'text': 'There is a wonderful playlist on scrimba.com called JS Algorithms.', 'start': 3987.983, 'duration': 3.642}], 'summary': 'Introductory javascript topics covered, emphasizing practice and retention for lifelong understanding. recommended js algorithms playlist on scrimba.com.', 'duration': 25.18, 'max_score': 3966.445, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs3966445.jpg'}], 'start': 3221.226, 'title': 'Javascript loops and functions', 'summary': 'Covers for, while, and do while loops in javascript, emphasizing iteration through numbers and arrays. it also discusses the functionality, reusability, and importance of functions, providing resources for further learning.', 'chapters': [{'end': 3449.784, 'start': 3221.226, 'title': 'Using for loops in javascript', 'summary': 'Explains the usage of for loops in javascript, emphasizing the iteration through numbers and arrays, with the for loop adding numbers from 0 to 4 to reach a total of 10 and iterating through an array to produce a sum of 360.', 'duration': 228.558, 'highlights': ['The for loop adds numbers from 0 to 4 to reach a total of 10.', 'Iterating through an array produces a sum of 360.']}, {'end': 4015.333, 'start': 3454.434, 'title': 'Javascript loops and functions', 'summary': 'Covers the concepts of while and do while loops, explaining their usage, differences, and potential risks, and then delves into the functionality and usage of functions, emphasizing their reusability and importance in writing clean and efficient code. it also encourages sharing and practicing the learned concepts and provides resources for further learning.', 'duration': 560.899, 'highlights': ['The chapter covers the concepts of while and do while loops, explaining their usage, differences, and potential risks.', 'The chapter delves into the functionality and usage of functions, emphasizing their reusability and importance in writing clean and efficient code.', 'The chapter encourages sharing and practicing the learned concepts and provides resources for further learning.']}], 'duration': 794.107, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_y9oxzTGERs/pics/_y9oxzTGERs3221226.jpg', 'highlights': ['Iterating through an array produces a sum of 360.', 'The for loop adds numbers from 0 to 4 to reach a total of 10.', 'The chapter covers the concepts of while and do while loops, explaining their usage, differences, and potential risks.', 'The chapter delves into the functionality and usage of functions, emphasizing their reusability and importance in writing clean and efficient code.', 'The chapter encourages sharing and practicing the learned concepts and provides resources for further learning.']}], 'highlights': ['The evolution of JavaScript from ES6 onwards is mentioned, highlighting the regular updates by the ECMAScript foundation, which has enhanced the language with new features and improvements annually since 2015.', 'String interpolation allows for easy insertion of variables into strings using back ticks and curly braces, improving readability and ease of use.', "The concept of strings in JavaScript is introduced, demonstrating the use of double and single quotes, and showcasing the concatenation of strings (e.g., 'first name' + ' ' + 'last name') to create readable strings.", "The importance of using 'let' over 'var' in JavaScript for storing and overriding values is emphasized, with 'var' being deprecated.", 'The method toFixed is demonstrated, showing how it can be used to control the number of decimal places in a number, including rounding.', 'The spread operator creates a new array by unwrapping values from an existing array', 'The map method iterates over elements of an array, providing an alternative approach', 'The object.assign method creates a new object by copying values from an existing object', 'The push method adds a value to the array, such as pushing the number eight onto it', 'Covers arithmetic operators for addition, subtraction, multiplication, and division in JavaScript.', 'Switch statements in JavaScript provide an alternative way of writing if-else statements, especially useful when dealing with a finite set of possible values and a default case.', 'Iterating through an array produces a sum of 360.', 'The for loop adds numbers from 0 to 4 to reach a total of 10.', "Instructor's experience in JavaScript for about two and a half, three years.", "Covers javascript basics including data types, control flow, number methods, console log types, arrays, objects, operations, comparisons, control flow, loops, and functions. it includes 14 lessons with 7 challenges and emphasizes the event-driven nature of javascript, the 'let' variable, and es6 updates.", "JavaScript's primary use in front end client side development with HTML and CSS.", 'JavaScript was written in 10 days.', "The 'two fix number property' is converted to a string when it rounds up or drops values, showcasing the behavior of JavaScript", 'The different console log types include numbers and strings, with examples demonstrating their extraction from different data types', "The 'wonkiness' in JavaScript is mentioned, indicating peculiar behavior in the language", 'Booleans are true or false values, and truthy values include numbers and strings, while falsy values include null, undefined, empty strings, NAN, and zero', 'Arrays are containers for multiple values, and the length of an array is one greater than the last index value, with indexing starting at zero', 'There are about 20 or 25 common methods with arrays, and the chapter will touch on only three or four of them', 'Understanding passing by reference in arrays and objects is crucial', 'Explains the modulo operator for finding remainders.', 'Covers relational operators for comparing numbers, with examples and explanations.', 'JavaScript has double equals and triple equals comparison for value and type checking.', 'Incrementing and decrementing variables can be done using plus plus and minus minus operators.', 'Difference between using plus plus at the end and at the beginning of a variable.', 'The and and or operators in JavaScript are used to evaluate multiple conditions, with and requiring all conditions to be true and or requiring at least one condition to be true for the code to be executed.', 'The if, else if, and else statements are used to control code execution based on certain conditions, allowing for selective running of code.', 'The chapter covers string methods like uppercase, lowercase, and split, as well as number methods like parseInt, parseFloat, and toFixed.', 'The use of parseInt and parseFloat functions is demonstrated, showcasing their ability to extract numerical values from strings.', 'Methods like length and trim are essential for manipulating strings, with length property providing quantifiable data about the length of the string.', 'The chapter covers the concepts of while and do while loops, explaining their usage, differences, and potential risks.', 'The chapter delves into the functionality and usage of functions, emphasizing their reusability and importance in writing clean and efficient code.', 'The chapter encourages sharing and practicing the learned concepts and provides resources for further learning.']}