title
ECMAScript 6 Tutorial

description
Get the Code Here : https://goo.gl/T37Tny Best ECMAScript 6 Book : http://amzn.to/2i3oKZK Support me on Patreon : https://www.patreon.com/derekbanas 01:06 Let 03:15 Constant 04:19 Data Types 05:27 Template Literals 07:09 Tagged Template Literals 09:57 For Of 12:17 Functions 13:48 Rest Parameters 15:11 Arrow Functions 16:32 Reduce 17:19 Filter 18:00 Map 19:05 Objects 22:23 Destructoring 24:04 Classes 27:25 Inheritance 31:45 Symbols 34:28 Arrays 36:16 Sets 38:04 Maps 39:28 forEach 40:03 Promises In this video I'll cover the vast majority of ECMAScript 6 in one video. We'll cover Let, Constants, Data Types, Strings, Template Literals, Tagged Template Literals, For Of, Functions, Rest Parameters, Arrow Functions, Reduce, Filter, Map, Objects, Destructoring, Classes, Inheritance, Symbols, Arrays, Sets, Maps, forEach, Promises and more. Thank you to Patreon supporters like the following for helping me make this video facebook.com/cottageindustriesbuild/ jaryd remillard : instagram: @distant_admiration bugreplay.com @kyleaisho @thetwistedhat vjFaLk

detail
{'title': 'ECMAScript 6 Tutorial', 'heatmap': [{'end': 932.302, 'start': 899.67, 'weight': 0.709}, {'end': 1368.095, 'start': 1196.424, 'weight': 0.925}, {'end': 1941.132, 'start': 1880.468, 'weight': 0.834}, {'end': 2440.507, 'start': 2401.841, 'weight': 1}], 'summary': 'This tutorial on ecmascript 6 covers 85% of its content, including its importance, usage on client and server side, and availability of code and timestamps for easy learning. it also delves into es6 basics, data types, functions, object creation and manipulation, variables, classes in python, object-oriented programming in javascript, javascript data structures, and promises with practical examples and explanations.', 'chapters': [{'end': 41.047, 'segs': [{'end': 41.047, 'src': 'embed', 'start': 0.089, 'weight': 0, 'content': [{'end': 3.772, 'text': 'Well hello Internet and welcome to my ECMA Script 6 tutorial.', 'start': 0.089, 'duration': 3.683}, {'end': 10.999, 'text': "In this one tutorial I'm going to cover about 85% of what you could read or learn about ECMA Script all in one video.", 'start': 3.832, 'duration': 7.167}, {'end': 16.064, 'text': 'And, like always, all the code, as well as a transcript of this video, is available in the description,', 'start': 11.179, 'duration': 4.885}, {'end': 20.688, 'text': 'along with time stamps that are going to allow you to click to learn exactly what you want to learn.', 'start': 16.064, 'duration': 4.624}, {'end': 26.794, 'text': 'Now, ECMAScript was originally based on JavaScript, and now JavaScript basically models ECMA.', 'start': 20.908, 'duration': 5.886}, {'end': 34.841, 'text': "So it's a very important technology to learn about, and it's used mainly on the client side, but also on the server side, of course,", 'start': 26.914, 'duration': 7.927}, {'end': 36.062, 'text': 'just like JavaScript.', 'start': 34.841, 'duration': 1.221}, {'end': 39.065, 'text': "But I'm guessing you know all that, so I'm not going to waste your time.", 'start': 36.242, 'duration': 2.823}, {'end': 41.047, 'text': "And I have a lot to do, so let's get into it.", 'start': 39.285, 'duration': 1.762}], 'summary': 'Ecma script 6 tutorial covers 85% of material in one video, important technology for client and server side.', 'duration': 40.958, 'max_score': 0.089, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg89.jpg'}], 'start': 0.089, 'title': 'Ecma script 6 tutorial', 'summary': 'Covers 85% of ecma script 6, its importance, and usage on client and server side, along with availability of code and timestamps for easy learning.', 'chapters': [{'end': 41.047, 'start': 0.089, 'title': 'Ecma script 6 tutorial', 'summary': 'Covers about 85% of ecma script, its importance, and usage on client and server side, along with availability of code and timestamps for easy learning.', 'duration': 40.958, 'highlights': ['ECMA Script 6 tutorial covers about 85% of what could be learned about ECMA Script in one video, making it a comprehensive resource for learning (quantifiable data: coverage percentage - 85%).', 'ECMA Script is an important technology used mainly on the client side and also on the server side, similar to JavaScript, emphasizing its relevance and widespread usage (quantifiable data: usage prevalence).', 'Availability of code and a transcript, along with timestamps for targeted learning, provides a convenient learning experience for the viewers, enhancing accessibility and user experience (quantifiable data: availability of code and timestamps).']}], 'duration': 40.958, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg89.jpg', 'highlights': ['ECMA Script 6 tutorial covers about 85% of what could be learned about ECMA Script in one video, making it a comprehensive resource for learning (quantifiable data: coverage percentage - 85%).', 'ECMA Script is an important technology used mainly on the client side and also on the server side, similar to JavaScript, emphasizing its relevance and widespread usage (quantifiable data: usage prevalence).', 'Availability of code and a transcript, along with timestamps for targeted learning, provides a convenient learning experience for the viewers, enhancing accessibility and user experience (quantifiable data: availability of code and timestamps).']}, {'end': 728.889, 'segs': [{'end': 88.541, 'src': 'embed', 'start': 60.744, 'weight': 1, 'content': [{'end': 65.227, 'text': 'just as long as you link to the script file that has all of your code.', 'start': 60.744, 'duration': 4.483}, {'end': 65.967, 'text': 'All right.', 'start': 65.507, 'duration': 0.46}, {'end': 68.849, 'text': "So the very first thing I'm going to talk about is let.", 'start': 66.007, 'duration': 2.842}, {'end': 72.912, 'text': 'Now, you probably are used to using var.', 'start': 69.149, 'duration': 3.763}, {'end': 82.778, 'text': 'And how let differs from var is if you use var to define a variable, that variable is going to be available globally versus let,', 'start': 73.532, 'duration': 9.246}, {'end': 85.939, 'text': 'which is going to make the variable available only in a block.', 'start': 82.778, 'duration': 3.161}, {'end': 88.541, 'text': "And I'm going to show you here an example of how this is going to work.", 'start': 85.979, 'duration': 2.562}], 'summary': "Using 'let' defines variables locally, while 'var' defines them globally.", 'duration': 27.797, 'max_score': 60.744, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg60744.jpg'}, {'end': 281.612, 'src': 'embed', 'start': 237.652, 'weight': 0, 'content': [{'end': 239.834, 'text': "And if we do so, let's go and do that.", 'start': 237.652, 'duration': 2.182}, {'end': 245.437, 'text': "And let's change this to pi instead and change this to pi right here.", 'start': 240.354, 'duration': 5.083}, {'end': 252.321, 'text': "You're going to see that we are able, inside of those blocks, to define constants without messing anything up.", 'start': 245.717, 'duration': 6.604}, {'end': 253.142, 'text': 'And there you go.', 'start': 252.561, 'duration': 0.581}, {'end': 255.142, 'text': 'All right, so pretty cool stuff.', 'start': 253.422, 'duration': 1.72}, {'end': 258.324, 'text': "And that's the basics of constants and how they work.", 'start': 255.383, 'duration': 2.941}, {'end': 263.786, 'text': "And now I'm just going to do a real quick example of the different data types that are available with the ECMA script.", 'start': 258.524, 'duration': 5.262}, {'end': 274.471, 'text': "Now, you still don't declare a data type, but instead the value is defined based off of the type or the value that is assigned to a variable.", 'start': 263.906, 'duration': 10.565}, {'end': 281.612, 'text': 'And the main types inside that are available to you here are going to be boolean, number, string, object, and symbol.', 'start': 274.651, 'duration': 6.961}], 'summary': 'Introduction to constants and data types in ecma script.', 'duration': 43.96, 'max_score': 237.652, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg237652.jpg'}, {'end': 342.33, 'src': 'embed', 'start': 319.753, 'weight': 6, 'content': [{'end': 328.379, 'text': "Now, something that's really cool with strings now and with ECMA is you're going to be able to use string interpolation using what are called template literals.", 'start': 319.753, 'duration': 8.626}, {'end': 330.301, 'text': 'So let me give you an example of that.', 'start': 328.72, 'duration': 1.581}, {'end': 342.33, 'text': "So we'll say we have a first name and I'll just pick something out of my head here and we will also throw in a last name and there we go.", 'start': 330.341, 'duration': 11.989}], 'summary': 'Ecma allows string interpolation using template literals for dynamic content.', 'duration': 22.577, 'max_score': 319.753, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg319753.jpg'}, {'end': 418.515, 'src': 'embed', 'start': 385.871, 'weight': 3, 'content': [{'end': 388.254, 'text': "And we're going to be able to do all kinds of other cool things with it.", 'start': 385.871, 'duration': 2.383}, {'end': 391.038, 'text': 'Once again, template literals is what these are called.', 'start': 388.554, 'duration': 2.484}, {'end': 400.767, 'text': "Another example of what we can do here, and I'll copy this, is let's go in here and let's define two numbers and give that a value of 10.", 'start': 391.263, 'duration': 9.504}, {'end': 406.39, 'text': "And let's go and define another value inside of here and give that a value of 5.", 'start': 400.767, 'duration': 5.623}, {'end': 408.471, 'text': "And let's use the template literal again.", 'start': 406.39, 'duration': 2.081}, {'end': 418.515, 'text': 'We can now come in here and throw something like 10 times 5 is going to be equal to, and perform the calculation directly inside of here.', 'start': 408.771, 'duration': 9.744}], 'summary': 'Template literals allow performing calculations and inserting values directly into strings.', 'duration': 32.644, 'max_score': 385.871, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg385871.jpg'}, {'end': 460.804, 'src': 'embed', 'start': 429.366, 'weight': 5, 'content': [{'end': 435.708, 'text': "You're also going to be able to use what are called tag template literals to modify output using a function.", 'start': 429.366, 'duration': 6.342}, {'end': 437.309, 'text': 'So let me give an example of that.', 'start': 435.928, 'duration': 1.381}, {'end': 440.757, 'text': "I'm going to come in here and define a function.", 'start': 437.856, 'duration': 2.901}, {'end': 443.798, 'text': "And I'm going to say do math is the name of it.", 'start': 441.237, 'duration': 2.561}, {'end': 447.279, 'text': "And it's going to be passed in strings.", 'start': 444.178, 'duration': 3.101}, {'end': 452.041, 'text': "And I'm also going to go in here and put three dots and values.", 'start': 448.18, 'duration': 3.861}, {'end': 460.804, 'text': "And in this situation, this guy right here is going to be a string array that's going to contain all of the strings inside of here.", 'start': 452.421, 'duration': 8.383}], 'summary': "Tag template literals allow modifying output using a function, demonstrated by defining the 'do math' function to handle string arrays and values.", 'duration': 31.438, 'max_score': 429.366, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg429366.jpg'}, {'end': 599.693, 'src': 'embed', 'start': 576.537, 'weight': 4, 'content': [{'end': 586.281, 'text': "and you can see that it was able to go in there and grab the values as well as the strings and be able to perform the right calculation depending upon the information that's there.", 'start': 576.537, 'duration': 9.744}, {'end': 589.603, 'text': 'play around with this very, very cool.', 'start': 586.281, 'duration': 3.322}, {'end': 596.866, 'text': "i'm not going to spend a ton of time on it, but very, very cool and a really awesome addition to ecma scripts.", 'start': 589.603, 'duration': 7.263}, {'end': 599.693, 'text': "We're also going to be able to iterate over characters.", 'start': 596.971, 'duration': 2.722}], 'summary': 'New feature allows grabbing values and strings for accurate calculations. also enables character iteration.', 'duration': 23.156, 'max_score': 576.537, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg576537.jpg'}], 'start': 41.834, 'title': 'Es6 basics and data types in ecma script', 'summary': "Covers es6 basics such as using 'let' for block scope variables and constants, and discusses data types including boolean, number, string, object, and symbol, along with the usage of template literals for string interpolation.", 'chapters': [{'end': 258.324, 'start': 41.834, 'title': 'Es6 basics: let and constants', 'summary': "Covers the basics of using 'let' instead of 'var' to define variables with block scope, and the usage of constants to define unchangeable values, emphasizing the benefits of using 'let' for non-global variables and the importance of constants in preventing value changes.", 'duration': 216.49, 'highlights': ["Using 'let' instead of 'var' to define variables with block scope and preventing global variable issues. Emphasizes the benefits of using 'let' for non-global variables and preventing global variable issues.", 'Explanation of using constants to define unchangeable values and how defining them within blocks prevents value changes. Emphasizes the importance of constants in preventing value changes.']}, {'end': 728.889, 'start': 258.524, 'title': 'Ecma script: data types and string interpolation', 'summary': 'Discusses the different data types available in ecma script including boolean, number, string, object, and symbol, and demonstrates the use of template literals for string interpolation and other capabilities.', 'duration': 470.365, 'highlights': ['ECMA script provides data types including boolean, number, string, object, and symbol, with examples to illustrate their usage. The chapter explains the main data types available in ECMA script, such as boolean, number, string, object, and symbol, and provides practical examples to demonstrate their usage.', 'Template literals allow for string interpolation, making code neater and enabling calculations directly within the string. The chapter showcases the usage of template literals for string interpolation, illustrating how it makes code cleaner and allows for direct calculations within the string.', 'Tag template literals enable modifying output using a function, demonstrated through an example of performing calculations based on provided strings and values. The chapter introduces tag template literals and provides an example of using a function to modify output based on provided strings and values, showcasing its capability for performing calculations.', 'ECMA script supports iterating over characters in strings, repeating strings, and checking if strings start, end, or include specific values. The chapter presents various capabilities of ECMA script for manipulating strings, including iterating over characters, repeating strings, and checking for specific values at the start, end, or within the string.', 'Multi-line strings can be created in ECMA script, allowing for the representation of text spanning multiple lines. The chapter demonstrates the creation of multi-line strings in ECMA script, highlighting the capability to represent text that spans across multiple lines.']}], 'duration': 687.055, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg41834.jpg', 'highlights': ['ECMA script provides data types including boolean, number, string, object, and symbol, with examples to illustrate their usage.', "Using 'let' instead of 'var' to define variables with block scope and preventing global variable issues.", 'Explanation of using constants to define unchangeable values and how defining them within blocks prevents value changes.', 'Template literals allow for string interpolation, making code neater and enabling calculations directly within the string.', 'ECMA script supports iterating over characters in strings, repeating strings, and checking if strings start, end, or include specific values.', 'Tag template literals enable modifying output using a function, demonstrated through an example of performing calculations based on provided strings and values.', 'Multi-line strings can be created in ECMA script, allowing for the representation of text spanning multiple lines.']}, {'end': 1146.037, 'segs': [{'end': 759.944, 'src': 'embed', 'start': 729.169, 'weight': 2, 'content': [{'end': 730.57, 'text': "And you're going to see that it still works.", 'start': 729.169, 'duration': 1.401}, {'end': 731.39, 'text': 'So there you go.', 'start': 730.89, 'duration': 0.5}, {'end': 736.153, 'text': 'A whole bunch of new things that are available to you string wise.', 'start': 731.41, 'duration': 4.743}, {'end': 740.636, 'text': 'And now I want to show you a whole bunch of things that are different in regards to functions.', 'start': 736.493, 'duration': 4.143}, {'end': 744.896, 'text': "Now, if you want to use default values, you're going to be able to do that.", 'start': 741.414, 'duration': 3.482}, {'end': 753.921, 'text': "So let's go and let's create a function and let's call it to get some, and it receives a number, and I want to give it a default value of one,", 'start': 744.916, 'duration': 9.005}, {'end': 755.882, 'text': "and then let's go and create another one.", 'start': 753.921, 'duration': 1.961}, {'end': 759.944, 'text': "And let's give that a default value also of one, just for the heck of it.", 'start': 756.122, 'duration': 3.822}], 'summary': 'New string functionalities and default values for functions demonstrated.', 'duration': 30.775, 'max_score': 729.169, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg729169.jpg'}, {'end': 838.886, 'src': 'embed', 'start': 788.697, 'weight': 1, 'content': [{'end': 797.222, 'text': 'Another thing to know is the arguments array is only going to receive the value that was passed into it.', 'start': 788.697, 'duration': 8.525}, {'end': 800.984, 'text': 'So let me give you an example of how that is going to affect things.', 'start': 797.522, 'duration': 3.462}, {'end': 806.107, 'text': 'So here we can say arguments and then go plus and here.', 'start': 801.264, 'duration': 4.843}, {'end': 809.308, 'text': 'And once again, arguments and one.', 'start': 806.567, 'duration': 2.741}, {'end': 812.03, 'text': 'Normally you would get this one and this one.', 'start': 809.569, 'duration': 2.461}, {'end': 813.936, 'text': "But you're going to see how that changes here.", 'start': 812.335, 'duration': 1.601}, {'end': 814.756, 'text': 'And reload it.', 'start': 814.176, 'duration': 0.58}, {'end': 823.24, 'text': 'Here you can see that it does not take the value here for, in regards to the arguments array, for the defined value.', 'start': 814.956, 'duration': 8.284}, {'end': 824.98, 'text': 'Only the value that was passed in.', 'start': 823.5, 'duration': 1.48}, {'end': 828.182, 'text': "Okay? So it's something very important to be aware of.", 'start': 825.26, 'duration': 2.922}, {'end': 835.785, 'text': 'REST parameters, which are going to be preceded by three dots, are going to become or be treated as an array.', 'start': 828.482, 'duration': 7.303}, {'end': 838.886, 'text': "So let's go and give you an example of how that's going to work.", 'start': 836.065, 'duration': 2.821}], 'summary': 'The arguments array only receives the passed-in value. rest parameters are treated as an array.', 'duration': 50.189, 'max_score': 788.697, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg788697.jpg'}, {'end': 932.302, 'src': 'heatmap', 'start': 899.67, 'weight': 0.709, 'content': [{'end': 908.875, 'text': "let vows is equal to, and let's go and create an array inside of here and then let's call get some more And then pass that inside of there.", 'start': 899.67, 'duration': 9.205}, {'end': 910.837, 'text': 'And here you can see that that all adds up.', 'start': 909.095, 'duration': 1.742}, {'end': 916.222, 'text': 'Arrow functions are going to define parameters followed by the body of a function.', 'start': 911.117, 'duration': 5.105}, {'end': 921.788, 'text': "So we'll say let and we'll call this difference is equal to.", 'start': 916.443, 'duration': 5.345}, {'end': 926.253, 'text': "Here what you're going to do is you're going to define the parameters first.", 'start': 922.128, 'duration': 4.125}, {'end': 927.555, 'text': 'pass to a function.', 'start': 926.593, 'duration': 0.962}, {'end': 929.838, 'text': "And then you're going to put an arrow inside of there.", 'start': 927.815, 'duration': 2.023}, {'end': 932.302, 'text': "That's why they are known as arrow functions.", 'start': 929.878, 'duration': 2.424}], 'summary': 'Introduction to arrow functions in javascript.', 'duration': 32.632, 'max_score': 899.67, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg899670.jpg'}, {'end': 937.85, 'src': 'embed', 'start': 909.095, 'weight': 0, 'content': [{'end': 910.837, 'text': 'And here you can see that that all adds up.', 'start': 909.095, 'duration': 1.742}, {'end': 916.222, 'text': 'Arrow functions are going to define parameters followed by the body of a function.', 'start': 911.117, 'duration': 5.105}, {'end': 921.788, 'text': "So we'll say let and we'll call this difference is equal to.", 'start': 916.443, 'duration': 5.345}, {'end': 926.253, 'text': "Here what you're going to do is you're going to define the parameters first.", 'start': 922.128, 'duration': 4.125}, {'end': 927.555, 'text': 'pass to a function.', 'start': 926.593, 'duration': 0.962}, {'end': 929.838, 'text': "And then you're going to put an arrow inside of there.", 'start': 927.815, 'duration': 2.023}, {'end': 932.302, 'text': "That's why they are known as arrow functions.", 'start': 929.878, 'duration': 2.424}, {'end': 935.106, 'text': 'And then here what you want to have done to them.', 'start': 932.542, 'duration': 2.564}, {'end': 937.85, 'text': "So we'll say num1 minus num2.", 'start': 935.506, 'duration': 2.344}], 'summary': 'Arrow functions define parameters followed by function body.', 'duration': 28.755, 'max_score': 909.095, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg909095.jpg'}], 'start': 729.169, 'title': 'Es6 functions & capabilities', 'summary': 'Showcases various new capabilities in es6 functions, including default parameter values, rest parameters, arrow functions, and usage with map, filter, and reduce, demonstrating examples and their results.', 'chapters': [{'end': 1146.037, 'start': 729.169, 'title': 'Es6 functions & capabilities', 'summary': 'Showcases various new capabilities in es6 functions, including default parameter values, rest parameters, arrow functions, and usage with map, filter, and reduce, demonstrating examples and their results.', 'duration': 416.868, 'highlights': ['Arrow functions are defined by parameters followed by the function body, allowing for concise syntax and flexibility, as shown by examples with single and multiple statements, and usage with map, filter, and reduce.', 'Rest parameters, denoted by three dots, enable handling an indefinite number of function arguments as an array, demonstrated with examples of adding values and passing arrays to a function.', 'Default parameter values allow functions to have default values for parameters, as illustrated by examples of functions with default parameters and their usage in function calls.', 'The chapter also covers the behavior of the arguments array and emphasizes its impact on defined and passed values in function calls.']}], 'duration': 416.868, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg729169.jpg', 'highlights': ['Arrow functions provide concise syntax and flexibility, demonstrated with examples and usage with map, filter, and reduce.', 'Rest parameters enable handling an indefinite number of function arguments as an array, demonstrated with examples.', 'Default parameter values allow functions to have default values for parameters, illustrated by examples of functions with default parameters.', 'The chapter also covers the behavior of the arguments array and emphasizes its impact on defined and passed values in function calls.']}, {'end': 1404.227, 'segs': [{'end': 1183.741, 'src': 'embed', 'start': 1146.431, 'weight': 0, 'content': [{'end': 1150.532, 'text': "Now you're going to be able to create what are called object literals like this.", 'start': 1146.431, 'duration': 4.101}, {'end': 1154.534, 'text': "So we'll be able to go in here and say function and create animal.", 'start': 1150.572, 'duration': 3.962}, {'end': 1160.096, 'text': "And let's say that every animal is going to have a name and every animal is going to have an owner.", 'start': 1154.934, 'duration': 5.162}, {'end': 1161.536, 'text': 'We can then say return.', 'start': 1160.416, 'duration': 1.12}, {'end': 1164.117, 'text': 'And then inside of here define our properties.', 'start': 1161.776, 'duration': 2.341}, {'end': 1165.998, 'text': "So we'll have name, owner.", 'start': 1164.197, 'duration': 1.801}, {'end': 1169.739, 'text': 'We can of course come in here and create a method like get info.', 'start': 1166.258, 'duration': 3.481}, {'end': 1171.88, 'text': "It's not going to get any parameters passed to it.", 'start': 1169.859, 'duration': 2.021}, {'end': 1181.82, 'text': "and it is going to return again back quotes name have to use this name, which is a way of referring to the object's specific name,", 'start': 1172.398, 'duration': 9.422}, {'end': 1183.741, 'text': "because we don't know what its name is,", 'start': 1181.82, 'duration': 1.921}], 'summary': 'Creating object literals with properties and methods for animals.', 'duration': 37.31, 'max_score': 1146.431, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1146431.jpg'}, {'end': 1368.095, 'src': 'heatmap', 'start': 1196.424, 'weight': 0.925, 'content': [{'end': 1203.486, 'text': 'Once again put this inside of there and also we are going to be able to have objects inside of this object.', 'start': 1196.424, 'duration': 7.062}, {'end': 1206.969, 'text': "so let's say we want to define an address for this guy.", 'start': 1203.486, 'duration': 3.483}, {'end': 1215.235, 'text': "go and create a new one and we'll say that this specific animal is going to be at 123 main street and city.", 'start': 1206.969, 'duration': 8.266}, {'end': 1219.439, 'text': 'say that every single animal is going to be in pittsburgh on main street.', 'start': 1215.235, 'duration': 4.204}, {'end': 1222.181, 'text': "we can do so and we'll close that off with a semicolon.", 'start': 1219.439, 'duration': 2.742}, {'end': 1228.368, 'text': "now what we're going to be able to do with that guy is let's go var spot is equal to,", 'start': 1222.181, 'duration': 6.187}, {'end': 1236.475, 'text': "and let's call create animal and let's pass inside of it spot and we'll say that spot's owner is going to be a guy named doug.", 'start': 1228.368, 'duration': 8.107}, {'end': 1246.483, 'text': 'we can then say we can then go document right and we can call the get info method we defined inside of here by referencing spot and get info.', 'start': 1236.475, 'duration': 10.008}, {'end': 1250.887, 'text': 'we can then also access the objects inside of our objects.', 'start': 1246.483, 'duration': 4.404}, {'end': 1252.328, 'text': "So let's go do this again.", 'start': 1251.167, 'duration': 1.161}, {'end': 1255.209, 'text': "And we will go and get Spot's name.", 'start': 1252.888, 'duration': 2.321}, {'end': 1257.91, 'text': 'So Spot name is at.', 'start': 1255.409, 'duration': 2.501}, {'end': 1261.552, 'text': 'And then access the object inside of the object.', 'start': 1258.27, 'duration': 3.282}, {'end': 1264.654, 'text': 'Remember we defined everybody lives in the same place.', 'start': 1261.612, 'duration': 3.042}, {'end': 1265.834, 'text': "So we'll go like this.", 'start': 1264.854, 'duration': 0.98}, {'end': 1268.035, 'text': 'And then you just go address like that.', 'start': 1266.214, 'duration': 1.821}, {'end': 1271.077, 'text': 'And if you want to get the street, you just do that.', 'start': 1268.395, 'duration': 2.682}, {'end': 1271.977, 'text': 'And reload it.', 'start': 1271.357, 'duration': 0.62}, {'end': 1273.538, 'text': 'And you can see Spot is owned by Doug.', 'start': 1271.997, 'duration': 1.541}, {'end': 1275.279, 'text': 'And Spot is at 123 Main Street.', 'start': 1273.698, 'duration': 1.581}, {'end': 1289.71, 'text': "Another thing that's kind of interesting is we can get the properties and methods of an object just by coming in here and saying object and get own property names and then pass in what we want.", 'start': 1276.072, 'duration': 13.638}, {'end': 1292.073, 'text': "So that's going to be spot in this situation.", 'start': 1289.83, 'duration': 2.243}, {'end': 1293.695, 'text': 'And then I want to do a join object.', 'start': 1292.293, 'duration': 1.402}, {'end': 1297.058, 'text': 'And then separate everything that comes back with a space.', 'start': 1293.975, 'duration': 3.083}, {'end': 1301.081, 'text': 'And then throw in our dollar sign and our curly bracket like this.', 'start': 1297.458, 'duration': 3.623}, {'end': 1304.543, 'text': 'And this is get own property names like that.', 'start': 1301.381, 'duration': 3.162}, {'end': 1306.625, 'text': 'You can see that all of them come back right there.', 'start': 1304.803, 'duration': 1.822}, {'end': 1312.029, 'text': "You're also going to be able to store values from objects using something called destructuring.", 'start': 1306.845, 'duration': 5.184}, {'end': 1314.011, 'text': "So let's go and define that.", 'start': 1312.289, 'duration': 1.722}, {'end': 1319.775, 'text': "We'll say that we want the name and the owner that is stored inside a spot.", 'start': 1314.051, 'duration': 5.724}, {'end': 1320.879, 'text': 'We can do so.', 'start': 1320.219, 'duration': 0.66}, {'end': 1323.441, 'text': "And then I'll just grab the name out of here like this.", 'start': 1321.14, 'duration': 2.301}, {'end': 1325.302, 'text': 'And there you can see we grab spot.', 'start': 1323.881, 'duration': 1.421}, {'end': 1327.903, 'text': 'We can also get an inner class value.', 'start': 1325.502, 'duration': 2.401}, {'end': 1334.947, 'text': "So we'll say let and then we'll go address equal to spot and then get our address value out of there.", 'start': 1328.083, 'duration': 6.864}, {'end': 1341.111, 'text': 'And how we would do that is reference address and street specifically inside of there.', 'start': 1335.287, 'duration': 5.824}, {'end': 1341.891, 'text': 'And there that is.', 'start': 1341.251, 'duration': 0.64}, {'end': 1345.828, 'text': "Something else that's neat is we're going to be able to destructure our arrays.", 'start': 1342.287, 'duration': 3.541}, {'end': 1351.709, 'text': "So let's go and create a favorite numbers array and throw some random values inside of there.", 'start': 1346.108, 'duration': 5.601}, {'end': 1354.79, 'text': "And let's say that I just want to get to the last one of them.", 'start': 1351.949, 'duration': 2.841}, {'end': 1356.93, 'text': 'I throw in two commas like that.', 'start': 1355.05, 'duration': 1.88}, {'end': 1362.731, 'text': "And let's say I want this to be called chaos and pull it from favorite numbers, of course.", 'start': 1357.47, 'duration': 5.261}, {'end': 1368.095, 'text': 'And then if I want to print that out and get chaos, And chaos, of course, pretty cool.', 'start': 1363.071, 'duration': 5.024}], 'summary': 'Demonstrating object manipulation and accessing properties and methods within objects using javascript.', 'duration': 171.671, 'max_score': 1196.424, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1196424.jpg'}, {'end': 1325.302, 'src': 'embed', 'start': 1297.458, 'weight': 2, 'content': [{'end': 1301.081, 'text': 'And then throw in our dollar sign and our curly bracket like this.', 'start': 1297.458, 'duration': 3.623}, {'end': 1304.543, 'text': 'And this is get own property names like that.', 'start': 1301.381, 'duration': 3.162}, {'end': 1306.625, 'text': 'You can see that all of them come back right there.', 'start': 1304.803, 'duration': 1.822}, {'end': 1312.029, 'text': "You're also going to be able to store values from objects using something called destructuring.", 'start': 1306.845, 'duration': 5.184}, {'end': 1314.011, 'text': "So let's go and define that.", 'start': 1312.289, 'duration': 1.722}, {'end': 1319.775, 'text': "We'll say that we want the name and the owner that is stored inside a spot.", 'start': 1314.051, 'duration': 5.724}, {'end': 1320.879, 'text': 'We can do so.', 'start': 1320.219, 'duration': 0.66}, {'end': 1323.441, 'text': "And then I'll just grab the name out of here like this.", 'start': 1321.14, 'duration': 2.301}, {'end': 1325.302, 'text': 'And there you can see we grab spot.', 'start': 1323.881, 'duration': 1.421}], 'summary': 'Using destructuring to store values from objects.', 'duration': 27.844, 'max_score': 1297.458, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1297458.jpg'}, {'end': 1374.164, 'src': 'embed', 'start': 1342.287, 'weight': 4, 'content': [{'end': 1345.828, 'text': "Something else that's neat is we're going to be able to destructure our arrays.", 'start': 1342.287, 'duration': 3.541}, {'end': 1351.709, 'text': "So let's go and create a favorite numbers array and throw some random values inside of there.", 'start': 1346.108, 'duration': 5.601}, {'end': 1354.79, 'text': "And let's say that I just want to get to the last one of them.", 'start': 1351.949, 'duration': 2.841}, {'end': 1356.93, 'text': 'I throw in two commas like that.', 'start': 1355.05, 'duration': 1.88}, {'end': 1362.731, 'text': "And let's say I want this to be called chaos and pull it from favorite numbers, of course.", 'start': 1357.47, 'duration': 5.261}, {'end': 1368.095, 'text': 'And then if I want to print that out and get chaos, And chaos, of course, pretty cool.', 'start': 1363.071, 'duration': 5.024}, {'end': 1374.164, 'text': 'And of course, if you want any of the other values, you just put them in there instead of just the blank quotes or the blank commas.', 'start': 1368.375, 'duration': 5.789}], 'summary': 'Arrays can be destructured to access specific values, making it easier to retrieve and use specific elements from the array.', 'duration': 31.877, 'max_score': 1342.287, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1342287.jpg'}], 'start': 1146.431, 'title': 'Object creation and manipulation in javascript', 'summary': 'Explains creating object literals with properties and methods, defining name and owner for animals, creating a method to retrieve animal information, defining object properties, accessing object methods, using destructuring, array destructuring, and using rest items to grab part of an array.', 'chapters': [{'end': 1183.741, 'start': 1146.431, 'title': 'Object literals and methods', 'summary': "Explains how to create object literals with properties and methods, including defining the name and owner for every animal and creating a method to retrieve the animal's information.", 'duration': 37.31, 'highlights': ["Object literals can be created with properties and methods, such as defining the name and owner for every animal, and creating a method to retrieve the animal's information.", "The method get info does not take any parameters and returns the specific name of the object, using the 'this' keyword."]}, {'end': 1404.227, 'start': 1183.741, 'title': 'Object creation and manipulation in javascript', 'summary': 'Demonstrates creating and manipulating objects in javascript, including defining object properties, accessing object methods, getting object property names, using destructuring to store and retrieve values, array destructuring, and using rest items to grab part of an array.', 'duration': 220.486, 'highlights': ['The chapter demonstrates creating and manipulating objects in JavaScript, including defining object properties, accessing object methods, getting object property names, using destructuring to store and retrieve values, array destructuring, and using rest items to grab part of an array.', 'Objects can be created and manipulated in JavaScript by defining object properties and accessing object methods, such as getting property names and using destructuring to store and retrieve values.', 'Array destructuring allows for specific values to be retrieved from an array, and rest items can be used to grab part of an array.', 'Values from objects can be stored and retrieved using destructuring, and inner class values can be accessed within an object.', 'Switching values in JavaScript is demonstrated as a part of object manipulation, allowing for easy reassignment of values within the code.']}], 'duration': 257.796, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1146431.jpg', 'highlights': ["Object literals can be created with properties and methods, defining the name and owner for every animal, and creating a method to retrieve the animal's information.", "The method get info does not take any parameters and returns the specific name of the object, using the 'this' keyword.", 'The chapter demonstrates creating and manipulating objects in JavaScript, including defining object properties, accessing object methods, getting object property names, using destructuring to store and retrieve values, array destructuring, and using rest items to grab part of an array.', 'Objects can be created and manipulated in JavaScript by defining object properties and accessing object methods, such as getting property names and using destructuring to store and retrieve values.', 'Array destructuring allows for specific values to be retrieved from an array, and rest items can be used to grab part of an array.', 'Values from objects can be stored and retrieved using destructuring, and inner class values can be accessed within an object.', 'Switching values in JavaScript is demonstrated as a part of object manipulation, allowing for easy reassignment of values within the code.']}, {'end': 1982.773, 'segs': [{'end': 1460.745, 'src': 'embed', 'start': 1433.712, 'weight': 3, 'content': [{'end': 1438.293, 'text': "So we can go like this, and val2, and we know that it's supposed to have a value of 2.", 'start': 1433.712, 'duration': 4.581}, {'end': 1441.073, 'text': 'However, since we switched it, you can now see it has the value of 1.', 'start': 1438.293, 'duration': 2.78}, {'end': 1444.194, 'text': 'Okay, so pretty cool stuff you can do there.', 'start': 1441.073, 'duration': 3.121}, {'end': 1447.775, 'text': 'Now I want to dive deeper into what we can do with classes.', 'start': 1444.214, 'duration': 3.561}, {'end': 1452.319, 'text': 'Now classes are going to work much like they do with other languages.', 'start': 1448.737, 'duration': 3.582}, {'end': 1455.862, 'text': "So let's come in here and let's define a class.", 'start': 1452.399, 'duration': 3.463}, {'end': 1460.745, 'text': "And let's create a constructor for the class.", 'start': 1456.722, 'duration': 4.023}], 'summary': 'Introduction to coding concepts, including class definition and constructor creation.', 'duration': 27.033, 'max_score': 1433.712, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1433712.jpg'}, {'end': 1540.42, 'src': 'embed', 'start': 1513.012, 'weight': 2, 'content': [{'end': 1520.42, 'text': "okay, and you're also going to have the ability to use static methods, and so we'll just create one here,", 'start': 1513.012, 'duration': 7.408}, {'end': 1526.306, 'text': 'and this one is actually going to create mammal objects and pass them back,', 'start': 1520.42, 'duration': 5.886}, {'end': 1532.512, 'text': "and it's just going to receive a name and to go and create a mammal object.", 'start': 1526.306, 'duration': 6.206}, {'end': 1540.42, 'text': 'you just go new and mammal, exactly like that, and then pass the name inside of there, and the constructor will take care of the rest,', 'start': 1532.512, 'duration': 7.908}], 'summary': 'Ability to use static methods to create mammal objects and pass them back.', 'duration': 27.408, 'max_score': 1513.012, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1513012.jpg'}, {'end': 1664.817, 'src': 'embed', 'start': 1636.512, 'weight': 1, 'content': [{'end': 1641.598, 'text': 'You can see right here, Mammal and we received the name for it, which is Mark and Mammal 2, which is Chipper.', 'start': 1636.512, 'duration': 5.086}, {'end': 1644.369, 'text': 'So you can see that we are able to create objects that way.', 'start': 1642.008, 'duration': 2.361}, {'end': 1649.771, 'text': "We're also going to be able to come in here and inherit all the properties and methods with extends.", 'start': 1644.589, 'duration': 5.182}, {'end': 1653.412, 'text': "So let's say I want to create something called marsupial.", 'start': 1650.291, 'duration': 3.121}, {'end': 1654.713, 'text': 'I think I spelled that right.', 'start': 1653.432, 'duration': 1.281}, {'end': 1660.975, 'text': "And to get everything from the mammal class we created, we'll just say extends mammal.", 'start': 1655.293, 'duration': 5.682}, {'end': 1664.817, 'text': 'And then we can create a brand new constructor for this guy.', 'start': 1661.156, 'duration': 3.661}], 'summary': 'Objects named mammal and mammal 2 created, with inheritance using extends.', 'duration': 28.305, 'max_score': 1636.512, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1636512.jpg'}, {'end': 1838.826, 'src': 'embed', 'start': 1806.575, 'weight': 0, 'content': [{'end': 1813.1, 'text': "we're also going to be able to dynamically inherit from classes, which is something kind of neat.", 'start': 1806.575, 'duration': 6.525}, {'end': 1827.076, 'text': 'so we can say get class and class type, and then here we can say if class type is equal to one, Then we want to return a mammal,', 'start': 1813.1, 'duration': 13.976}, {'end': 1831.26, 'text': 'else we will return a marsupial.', 'start': 1827.076, 'duration': 4.184}, {'end': 1835.543, 'text': "So that's kind of neat, something that ECMA script does that isn't very common.", 'start': 1831.4, 'duration': 4.143}, {'end': 1838.826, 'text': 'And then we can command and test this with class.', 'start': 1835.984, 'duration': 2.842}], 'summary': 'Ecma script allows dynamic class inheritance with conditional returns based on class type.', 'duration': 32.251, 'max_score': 1806.575, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1806575.jpg'}, {'end': 1941.132, 'src': 'heatmap', 'start': 1880.468, 'weight': 0.834, 'content': [{'end': 1885.09, 'text': 'It is true that Paul has a pouch, Chipper is a mammal, and Paul is a marsupial.', 'start': 1880.468, 'duration': 4.622}, {'end': 1888.232, 'text': 'And those, of course, come from these guys up here.', 'start': 1885.29, 'duration': 2.942}, {'end': 1892.314, 'text': "And I have a little bug down here, and that's because I didn't put a capital M right there.", 'start': 1888.492, 'duration': 3.822}, {'end': 1893.994, 'text': "So let's save that and reload it.", 'start': 1892.374, 'duration': 1.62}, {'end': 1901.618, 'text': 'And now you can also see that Carl is a marsupial and that we were able to create a dynamic class with our koalas.', 'start': 1894.194, 'duration': 7.424}, {'end': 1902.999, 'text': 'So pretty cool stuff.', 'start': 1901.938, 'duration': 1.061}, {'end': 1905.32, 'text': "And now I'm going to jump over and talk about symbols.", 'start': 1903.419, 'duration': 1.901}, {'end': 1915.482, 'text': "now a symbol is going to be kind of like an enumerated type that can be used as an identifier and they can't can't be changed,", 'start': 1905.76, 'duration': 9.722}, {'end': 1922.164, 'text': 'which means they are immutable and to create a symbol that is used like a label in an array or something like that.', 'start': 1915.482, 'duration': 6.682}, {'end': 1928.365, 'text': "you can provide a description in quotes, but it's only really there for debugging purposes.", 'start': 1922.164, 'duration': 6.201}, {'end': 1932.867, 'text': "so let's say we want to go and go capital And let's create a new symbol.", 'start': 1928.365, 'duration': 4.502}, {'end': 1935.969, 'text': "And this is what I'm saying about putting in a description.", 'start': 1933.227, 'duration': 2.742}, {'end': 1938.49, 'text': "So I'll say something like state capital.", 'start': 1935.989, 'duration': 2.501}, {'end': 1941.132, 'text': "And then let's use it.", 'start': 1939.371, 'duration': 1.761}], 'summary': 'Transcript covers the use of dynamic class creation with koalas and the concept of symbols in programming.', 'duration': 60.664, 'max_score': 1880.468, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1880468.jpg'}, {'end': 1928.365, 'src': 'embed', 'start': 1905.76, 'weight': 4, 'content': [{'end': 1915.482, 'text': "now a symbol is going to be kind of like an enumerated type that can be used as an identifier and they can't can't be changed,", 'start': 1905.76, 'duration': 9.722}, {'end': 1922.164, 'text': 'which means they are immutable and to create a symbol that is used like a label in an array or something like that.', 'start': 1915.482, 'duration': 6.682}, {'end': 1928.365, 'text': "you can provide a description in quotes, but it's only really there for debugging purposes.", 'start': 1922.164, 'duration': 6.201}], 'summary': 'Symbols are immutable identifiers used as labels, useful for debugging.', 'duration': 22.605, 'max_score': 1905.76, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1905760.jpg'}], 'start': 1404.227, 'title': 'Variables and classes in python and object-oriented programming in javascript', 'summary': 'Covers variable swapping in python using val1 and val2, showcasing how switching their values affects the outcome, and then delves into the concept of classes in python. it also covers creating classes, constructors, getters, setters, static methods, inheritance, method overriding, dynamic class creation, and symbols in javascript, with examples and explanations.', 'chapters': [{'end': 1455.862, 'start': 1404.227, 'title': 'Python variables and classes', 'summary': 'Covers variable swapping in python using val1 and val2, showcasing how switching their values affects the outcome, and then delves into the concept of classes in python.', 'duration': 51.635, 'highlights': ['The chapter explains the concept of variable swapping in Python using val1 and val2, demonstrating how their values can be switched, resulting in a different outcome.', 'It also introduces the concept of classes in Python, highlighting how they work similarly to other programming languages.']}, {'end': 1982.773, 'start': 1456.722, 'title': 'Object-oriented programming in javascript', 'summary': 'Covers creating classes, constructors, getters, setters, static methods, inheritance, method overriding, dynamic class creation, and symbols in javascript, with examples and explanations.', 'duration': 526.051, 'highlights': ['The chapter covers creating classes, constructors, getters, setters, static methods, inheritance, method overriding, dynamic class creation, and symbols in JavaScript, with examples and explanations.', "Static methods are explained and demonstrated, with an example of creating mammal objects and passing them back, along with the process of creating a new object using 'new' and the constructor taking care of the rest.", "Inheritance is discussed, with an example of creating a 'marsupial' class that extends the 'mammal' class, showing the process of calling the super constructor, defining getters and setters, and overriding methods.", 'The concept of symbols in JavaScript, functioning as an enumerated type and identifier, is introduced, with an example of creating and using a symbol as a label in an array for debugging purposes.']}], 'duration': 578.546, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1404227.jpg', 'highlights': ['The chapter covers creating classes, constructors, getters, setters, static methods, inheritance, method overriding, dynamic class creation, and symbols in JavaScript, with examples and explanations.', "Inheritance is discussed, with an example of creating a 'marsupial' class that extends the 'mammal' class, showing the process of calling the super constructor, defining getters and setters, and overriding methods.", "Static methods are explained and demonstrated, with an example of creating mammal objects and passing them back, along with the process of creating a new object using 'new' and the constructor taking care of the rest.", 'The chapter explains the concept of variable swapping in Python using val1 and val2, demonstrating how their values can be switched, resulting in a different outcome.', 'The concept of symbols in JavaScript, functioning as an enumerated type and identifier, is introduced, with an example of creating and using a symbol as a label in an array for debugging purposes.', 'It also introduces the concept of classes in Python, highlighting how they work similarly to other programming languages.']}, {'end': 2730.009, 'segs': [{'end': 2011.096, 'src': 'embed', 'start': 1982.994, 'weight': 0, 'content': [{'end': 1988.378, 'text': 'We can actually come in here and get the description that we have saved for this.', 'start': 1982.994, 'duration': 5.384}, {'end': 1993.502, 'text': 'We can say symbol, capital, and then go capital to string.', 'start': 1988.538, 'duration': 4.964}, {'end': 2000.067, 'text': 'And there you can see is the information along with the description for our symbol we created.', 'start': 1993.822, 'duration': 6.245}, {'end': 2003.39, 'text': "You're going to be able to share symbols by using symbol four.", 'start': 2000.228, 'duration': 3.162}, {'end': 2006.913, 'text': "So we'll go let employee number.", 'start': 2003.55, 'duration': 3.363}, {'end': 2011.096, 'text': "so it's all employees are going to have a number, so let's share those symbols.", 'start': 2006.913, 'duration': 4.183}], 'summary': 'Describing and sharing symbols and employee numbers in a system.', 'duration': 28.102, 'max_score': 1982.994, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1982994.jpg'}, {'end': 2110.801, 'src': 'embed', 'start': 2084.835, 'weight': 3, 'content': [{'end': 2091.5, 'text': "So we'll just go array of and one, two, and three is going to be our array.", 'start': 2084.835, 'duration': 6.665}, {'end': 2095.803, 'text': "We'll also be able to change an object into an array.", 'start': 2091.76, 'duration': 4.043}, {'end': 2099.086, 'text': 'So we can say let array two equal two.', 'start': 2095.842, 'duration': 3.244}, {'end': 2100.847, 'text': "And you're going to go array from.", 'start': 2099.486, 'duration': 1.361}, {'end': 2104.678, 'text': 'To be able to do that, we could use a string, for example.', 'start': 2101.277, 'duration': 3.401}, {'end': 2108.12, 'text': "We're also going to be able to use array from to manipulate values.", 'start': 2104.698, 'duration': 3.422}, {'end': 2110.801, 'text': "So let's go and create another array here.", 'start': 2108.24, 'duration': 2.561}], 'summary': 'Introduction to array manipulation and conversion in javascript.', 'duration': 25.966, 'max_score': 2084.835, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg2084835.jpg'}, {'end': 2309.558, 'src': 'embed', 'start': 2259.381, 'weight': 1, 'content': [{'end': 2269.305, 'text': 'maybe like set value like that and then get all the individual values just by throwing value inside of there And we can run this and see how it works out.', 'start': 2259.381, 'duration': 9.924}, {'end': 2271.806, 'text': 'You can see hash 10 comes back as true.', 'start': 2269.465, 'duration': 2.341}, {'end': 2273.507, 'text': 'Set size is 2.', 'start': 2271.886, 'duration': 1.621}, {'end': 2276.428, 'text': 'And right here we have set value is equal to word.', 'start': 2273.507, 'duration': 2.921}, {'end': 2279.11, 'text': "And the reason why is there's only one value inside of there.", 'start': 2276.769, 'duration': 2.341}, {'end': 2281.691, 'text': 'Because remember, we deleted the 10.', 'start': 2279.13, 'duration': 2.561}, {'end': 2283.972, 'text': 'Alright, quick overview of sets.', 'start': 2281.691, 'duration': 2.281}, {'end': 2285.953, 'text': "Now let's take a look at maps.", 'start': 2284.072, 'duration': 1.881}, {'end': 2290.395, 'text': 'Now a map is going to be a collection of key valued pairs.', 'start': 2286.313, 'duration': 4.082}, {'end': 2292.576, 'text': "And I'm going to come in here and create one.", 'start': 2290.715, 'duration': 1.861}, {'end': 2294.217, 'text': "So we'll call this random map.", 'start': 2292.596, 'duration': 1.621}, {'end': 2298.728, 'text': 'And you just go new map like that and there you go.', 'start': 2295.057, 'duration': 3.671}, {'end': 2307.857, 'text': "you created one and if we want to handle or enter in value, we can go random map set and then we're going to define our key.", 'start': 2298.728, 'duration': 9.129}, {'end': 2309.558, 'text': "i'm just going to call this key one.", 'start': 2307.857, 'duration': 1.701}], 'summary': 'Overview of sets with 2 values. introduction to maps with key-value pairs.', 'duration': 50.177, 'max_score': 2259.381, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg2259381.jpg'}, {'end': 2429.121, 'src': 'embed', 'start': 2401.841, 'weight': 4, 'content': [{'end': 2404.763, 'text': 'and now to wrap it up, i want to talk about promises.', 'start': 2401.841, 'duration': 2.922}, {'end': 2409.868, 'text': 'Now promises define code that is going to be executed later.', 'start': 2405.885, 'duration': 3.983}, {'end': 2413.71, 'text': 'And promises either succeed or fail once.', 'start': 2410.448, 'duration': 3.262}, {'end': 2419.414, 'text': 'And they are either going to have a state of fulfilled, rejected, pending, or settled.', 'start': 2414.271, 'duration': 5.143}, {'end': 2423.777, 'text': 'And I think the best way to understand them is to sort of see them in an action.', 'start': 2419.935, 'duration': 3.842}, {'end': 2429.121, 'text': 'Now a promise, what I want to do here first is cover a promise that is handled immediately.', 'start': 2424.037, 'duration': 5.084}], 'summary': 'Promises define executable code that succeeds or fails once, with states of fulfilled, rejected, pending, or settled.', 'duration': 27.28, 'max_score': 2401.841, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg2401841.jpg'}, {'end': 2440.507, 'src': 'heatmap', 'start': 2401.841, 'weight': 1, 'content': [{'end': 2404.763, 'text': 'and now to wrap it up, i want to talk about promises.', 'start': 2401.841, 'duration': 2.922}, {'end': 2409.868, 'text': 'Now promises define code that is going to be executed later.', 'start': 2405.885, 'duration': 3.983}, {'end': 2413.71, 'text': 'And promises either succeed or fail once.', 'start': 2410.448, 'duration': 3.262}, {'end': 2419.414, 'text': 'And they are either going to have a state of fulfilled, rejected, pending, or settled.', 'start': 2414.271, 'duration': 5.143}, {'end': 2423.777, 'text': 'And I think the best way to understand them is to sort of see them in an action.', 'start': 2419.935, 'duration': 3.842}, {'end': 2429.121, 'text': 'Now a promise, what I want to do here first is cover a promise that is handled immediately.', 'start': 2424.037, 'duration': 5.084}, {'end': 2440.507, 'text': "So to create one, I'm going to go p1, and I'm going to say promise resolve, and I'll call resolve me as what's going to be passed inside of here.", 'start': 2429.562, 'duration': 10.945}], 'summary': 'Promises define code executed later, with states of fulfilled, rejected, pending, or settled.', 'duration': 38.666, 'max_score': 2401.841, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg2401841.jpg'}, {'end': 2646.813, 'src': 'embed', 'start': 2616.072, 'weight': 5, 'content': [{'end': 2620.457, 'text': 'And here you can see bad value comes back because the value here is 18.', 'start': 2616.072, 'duration': 4.385}, {'end': 2624.943, 'text': 'And if we would change this to 18, you can see that we get good value.', 'start': 2620.457, 'duration': 4.486}, {'end': 2631.567, 'text': "Another thing that's important is that you should add a catch to the chain to handle your errors always.", 'start': 2625.145, 'duration': 6.422}, {'end': 2633.608, 'text': "So it's going to do one more example here.", 'start': 2631.867, 'duration': 1.741}, {'end': 2640.05, 'text': "So I'm going to go var p4 is equal to new promise resolve and reject again.", 'start': 2633.628, 'duration': 6.422}, {'end': 2646.813, 'text': "And let's come up here and throw our random value inside of here, just so we can have something to check against.", 'start': 2640.07, 'duration': 6.743}], 'summary': 'Handling errors is important in promise chains. changing value to 18 yields good results.', 'duration': 30.741, 'max_score': 2616.072, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg2616072.jpg'}], 'start': 1982.994, 'title': 'Javascript data structures and promises', 'summary': 'Covers the creation and manipulation of symbols, arrays, sets, and maps in javascript, including examples, also discusses promises in javascript, defining their execution, states, and usage with practical application and error handling.', 'chapters': [{'end': 2401.841, 'start': 1982.994, 'title': 'Javascript data structures', 'summary': 'Covers the creation and manipulation of symbols, arrays, sets, and maps in javascript, including examples of creating, adding, deleting, and iterating through these data structures.', 'duration': 418.847, 'highlights': ['Creation and manipulation of symbols The chapter covers the creation and manipulation of symbols, including sharing symbols and creating objects with associated symbols and values.', 'Creation and manipulation of arrays The chapter demonstrates the creation of arrays using array of and array from methods, manipulating array values, and iterating through arrays using for loops.', 'Creation and manipulation of sets The chapter explains the creation of sets, adding values to sets, checking for value containment, getting the size of sets, deleting items from sets, and iterating through set values.', 'Creation and manipulation of maps The chapter covers the creation of maps, adding key-value pairs, retrieving values by key, getting the size of maps, and iterating through map key-value pairs using the forEach method.']}, {'end': 2730.009, 'start': 2401.841, 'title': 'Understanding promises in javascript', 'summary': 'Discusses promises in javascript, defining their execution, states, and usage with examples of immediately handled promises, delayed execution promises, and promises with potential fulfillment or rejection, showcasing their practical application and error handling.', 'duration': 328.168, 'highlights': ['The chapter highlights the definition and usage of promises in JavaScript, including their states of fulfilled, rejected, pending, and settled, and illustrates their practical application with examples (e.g., immediately handled promises, delayed execution promises, and promises with potential fulfillment or rejection).', "The chapter emphasizes the importance of error handling by adding a 'catch' statement to the chain to handle errors consistently, showcasing practical examples of handling potential errors in promises.", 'The chapter showcases practical examples of immediately handled promises, delayed execution promises, and promises with potential fulfillment or rejection, providing a comprehensive overview of the various use cases and applications of promises in JavaScript.']}], 'duration': 747.015, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Jakoi0G8lBg/pics/Jakoi0G8lBg1982994.jpg', 'highlights': ['The chapter covers the creation and manipulation of symbols, including sharing symbols and creating objects with associated symbols and values.', 'The chapter covers the creation of maps, adding key-value pairs, retrieving values by key, getting the size of maps, and iterating through map key-value pairs using the forEach method.', 'The chapter explains the creation of sets, adding values to sets, checking for value containment, getting the size of sets, deleting items from sets, and iterating through set values.', 'The chapter demonstrates the creation of arrays using array of and array from methods, manipulating array values, and iterating through arrays using for loops.', 'The chapter highlights the definition and usage of promises in JavaScript, including their states of fulfilled, rejected, pending, and settled, and illustrates their practical application with examples (e.g., immediately handled promises, delayed execution promises, and promises with potential fulfillment or rejection).', "The chapter emphasizes the importance of error handling by adding a 'catch' statement to the chain to handle errors consistently, showcasing practical examples of handling potential errors in promises.", 'The chapter showcases practical examples of immediately handled promises, delayed execution promises, and promises with potential fulfillment or rejection, providing a comprehensive overview of the various use cases and applications of promises in JavaScript.']}], 'highlights': ['ECMA Script 6 tutorial covers about 85% of what could be learned about ECMA Script in one video, making it a comprehensive resource for learning (quantifiable data: coverage percentage - 85%).', 'Availability of code and a transcript, along with timestamps for targeted learning, provides a convenient learning experience for the viewers, enhancing accessibility and user experience (quantifiable data: availability of code and timestamps).', 'ECMA Script is an important technology used mainly on the client side and also on the server side, similar to JavaScript, emphasizing its relevance and widespread usage (quantifiable data: usage prevalence).', 'The chapter covers the creation and manipulation of symbols, including sharing symbols and creating objects with associated symbols and values.', 'The chapter covers the creation of maps, adding key-value pairs, retrieving values by key, getting the size of maps, and iterating through map key-value pairs using the forEach method.', 'The chapter explains the creation of sets, adding values to sets, checking for value containment, getting the size of sets, deleting items from sets, and iterating through set values.', 'The chapter covers creating classes, constructors, getters, setters, static methods, inheritance, method overriding, dynamic class creation, and symbols in JavaScript, with examples and explanations.', 'The chapter covers creating arrays using array of and array from methods, manipulating array values, and iterating through arrays using for loops.', 'The chapter highlights the definition and usage of promises in JavaScript, including their states of fulfilled, rejected, pending, and settled, and illustrates their practical application with examples (e.g., immediately handled promises, delayed execution promises, and promises with potential fulfillment or rejection).', "The chapter emphasizes the importance of error handling by adding a 'catch' statement to the chain to handle errors consistently, showcasing practical examples of handling potential errors in promises.", 'Arrow functions provide concise syntax and flexibility, demonstrated with examples and usage with map, filter, and reduce.', 'Rest parameters enable handling an indefinite number of function arguments as an array, demonstrated with examples.', 'Default parameter values allow functions to have default values for parameters, illustrated by examples of functions with default parameters.', "Object literals can be created with properties and methods, defining the name and owner for every animal, and creating a method to retrieve the animal's information.", "The method get info does not take any parameters and returns the specific name of the object, using the 'this' keyword.", 'The chapter demonstrates creating and manipulating objects in JavaScript, including defining object properties, accessing object methods, getting object property names, using destructuring to store and retrieve values, array destructuring, and using rest items to grab part of an array.', "Inheritance is discussed, with an example of creating a 'marsupial' class that extends the 'mammal' class, showing the process of calling the super constructor, defining getters and setters, and overriding methods.", "Static methods are explained and demonstrated, with an example of creating mammal objects and passing them back, along with the process of creating a new object using 'new' and the constructor taking care of the rest.", 'The chapter explains the concept of variable swapping in Python using val1 and val2, demonstrating how their values can be switched, resulting in a different outcome.', 'The concept of symbols in JavaScript, functioning as an enumerated type and identifier, is introduced, with an example of creating and using a symbol as a label in an array for debugging purposes.', 'It also introduces the concept of classes in Python, highlighting how they work similarly to other programming languages.']}