Hello. Great. Okay. Good morning. Hello, everyone. I'm going to be talking to you in a few minutes about ES6. I think I can actually see everyone. There are lots of spaces up here in case you want to move a little further up to be able to ask me questions more effectively, because I am going to be asking you to do that many times during this talk. I just tweeted my slides, and they are interactive. So if you have computers, as many of you do in front of you, you can open them up, type into them, and press the Run button and play along with me as I go through many different pieces of ES6. So ECMAScript 6 or ECMAScript 2015. So how many of you have heard of this, the new version of JavaScript? Okay. And how many of you have actually used it? Okay. Great. So at least in the last talk, you heard and saw a lot of ES6 up here. So I'm going to be explaining some of those features as we go through. ECMAScript 6 or ECMAScript 2015, as the new name is, is the next version of JavaScript that's currently being implemented in most browsers. It has been a very long time coming. The last version of JavaScript that was ratified was 2009, and it didn't even have that many really cool things in it. I'll get into that in a little bit. But we've all been very, very patient to have waited this long for all of these pieces. So my name is John Paul. I love JavaScript. I have dalliances and indiscretions with other programming languages every once in a while, but I always come back from the scalas and javas of the world to JavaScript. If you want to take a look at the slides, just go to my Twitter handle or the jQuery hashtag and you will see everything. So first, I want to talk to you about what ECMAScript is. So ECMAScript is an international standards body. It is like IETF or IEEE. They have standardized a few things, most notably the amazing thing that we used to call the cloud, the floppy disk. They also standardized Dart. They standardized C-sharp. They standardized a few different pieces of the internet world that we don't typically think about. Their official standard body adopted scripting language is ECMAScript, which is what we lovingly call JavaScript. So ECMA International is the standards body that puts together the specification every however many years. The particular group within the ECMA standards body is called TC39. There's a lot of jargon and lingo here that you don't necessarily need to know. But ECMAScript has had a few major revisions. ECMAScript version 3 was put together in 1999, most notably added regular expressions. Can you imagine life without regular expressions? We also added try and catch, some pretty staple ideas in programming languages. We gratefully got in JavaScript in 1999. And then there was a 10-year long gap. So despite how impatient we might have been, we've been pretty used to it as JavaScript developers because it's already taken a very long time for us to get new pieces of the language. In ECMAScript 5, we got things like array.map. A lot of extensions that prototype.js added were actually integrated into the language. And now in 2015, we have ECMAScript 6. So I'm going to start going through some features of ECMAScript 6. It has been a long time coming. The language version numbers have now changed from integers starting from something low like 3, 4, 5, 6, and it moved to the years in which they will be released. So the next version is not ECMAScript 7 anymore. It is ECMAScript 2016, 2017, 2018. The reasoning behind this is that when a year is actually attached to a document, it is forced to go out in that year, and we no longer have to wait for some arbitrary number of years in the future. This is a good idea for your own projects. Name everything by the year, and you'll have to get something out by December. So 2015, this is the new name for ECMAScript 6. You'll still see lots of blog posts about with both different names, but they mean the same thing, ECMAScript 6 and ECMAScript 2015. So I want to talk to you a little bit about why I am such a huge fan of the software industry. So one thing that I really love about being in software and being in programming languages in general is that there is basically zero cost for plagiarism. We can steal the best ideas in other programming languages. We can steal the best abstractions, the best patterns from other technologies, integrate them into our own workflow, into our own programming languages, and basically zero cost, and no one is really going to complain to us if anything, people are going to be happy because then they can come to this language more easily. They can mentally map between, oh, that thing, I know that from Python, I know that from Java, I know that from C-Sharp, and they can more easily integrate into the language of the web, JavaScript. So what we have been doing in ECMAScript as the years have gone on has been taking features that have been popularized in other programming languages and incorporating them into the JavaScript standard. There are a few here, there are many more than just this, but we have been taking blatantly from other programming languages. CoffeeScript gave us arrow functions. Python has generators, and we have very, very similar semantics around ours. Destructuring, that I'll show you a little bit later, came directly from Lisp. C has constant block scope and lots of other things that ECMAScript 2015 has, and then actually there is a language called E, which I did not know about until researching this, that actually was a direct copy for where we took template strings for ECMAScript 2015 from. It is not what Ruby has or what other programming languages have, but it is directly from a language called E. Anyone ever heard of E before? I have no idea what it does except for having template strings. But I'd be excited if someone here was like, yes, I know E. I wrote E way back when. So the plan for what I'm going to talk about is I've broken up my talk into a few different workshop components that will hopefully help you very easily and very quickly be able to go back to your day jobs and integrate these pieces into your systems without having to wait weeks or months or for standards bodies to do what they need to do or anything like that. So the first group that I'm going to talk about are the pieces of ECMAScript 2015 that are able to be shimmed into your current projects as easy as dropping in a script tag. The second group are the transpilable. So how many of you use coffee script type script? So there is a whole subset of ECMAScript 2015 that can be transpiled into ES5, similarly to how coffee script and type script work. You can take one piece of source code, convert it into JavaScript, and you can get a whole bunch of new features like that. And then there are features that are very difficult to actually use. I'll cover for a little bit until the actual implementations themselves build into the implementation the language feature. I'll talk a little bit about that. So as I go through this, again, if you have laptops, you can definitely follow along and play with me. I would love to encourage all of you here. So how many of you went to Darcy's talk yesterday? Okay, so he's talking again later today, but he has this idea of interaction that is giving away stickers.  So I would love for all of you to ask me questions. Feel free to interrupt me. This is much more of an interactive workshop than it is anything else. I have an entire bag of stickers here for everyone who is willing to ask me a question. They can come up and get random stickers from JavaScript to grunt to gulp till whatever else happens to be in this bag. So as you are at jQueryConf, I know there is at least one thing you know how to add the jQuery script tag to your pages. That is at least that minimum. You might not know JavaScript. You might not know anything about what, you know, a jQuery element is doing, but you know how to add a script tag. And as script tags, as I said earlier, JavaScript is my favorite language. Script tags are my favorite HTML tag. I know that there is this one thing that you can do regardless of what platform you happen to be using. You can be in Joomla World, Drupal World, fancy new C-sharp applications or whatever. You can always add a single script tag. So I want to talk to you about some great new features we are able to use by just adding a script tag. All we have to do is add a script tag to this ES6 shim by Paul Miller. And we get many of these features that I'll go through and many, many more. I have only put on here, I don't know, about 10 of them. They are on the order of 25 or 30 different shimmable features of ECMAScript 6. So this is a pattern that I am sure all of us here have written a thousand times. We have a string. We want to check if a certain character or string of characters is in that string. And how do we do that? We use this fancy magical incantation which is dot index of being greater than negative one. And if we run this, you see it does say true. And this actually, this does work. This is one of those things that, especially people coming to JavaScript from other programming languages, bang their head against the wall for a while to understand why we have to memorize this thing. Gratefully in ECMAScript 6, ECMAScript 2015, we just have this, which gives you the same thing with the beautiful new fluent syntax that actually makes sense when you read it out loud. All you need is a script tag. Isn't it wonderful? So then, additionally, in ECMAScript 2015, we've actually standardized the promises A plus implementation and built that into the language itself. We don't have to rely on libraries, although if you do have jQuery and jQuery 3.0, you will have a very similar thing given to you by a library. The language itself actually supports it now. And this will work. So how many of you use promises? Okay, so the idea here is using promises, we have an abstraction around asynchronous events that is a little bit more useful and usable than a callback. So in this case, I am creating a promise. For that promise, I am resolving it after 1,000 milliseconds. And after that promise is resolved, I will alert something. And here we'll find that one second is much longer than any of us ever think. It took a little bit. So this is another feature of the language that's actually built in. We don't have to rely on libraries like Bluebird or Q or jQuery. The language itself has promises now built in. What questions do you have? Yes, it is. So I think it is actually just promises.all, but it's something I will look. So the question was, is the also promise libraries typically have a way to aggregate multiple promises and give you a single fulfillment handler to say when all of these different things are done, then execute what I need to execute in terms of a callback, that is also included. Almost everything that libraries currently provide is either included or can be extended to. I do not believe so, but I have to look that up. I don't think the promises are cancelable. Sure. So the question was, well, I think it was the question, it was a statement that Q and other promise libraries have memory leaks in them, does this. One of the advantages, one of the difficulties that Q would have in implementing something like this is that as a user land library, it cannot guarantee as much as an implementation in the language can guarantee. So there are optimizations that the language could actually make that Q cannot make. I don't know as to the specific benchmarks around the language implementations of this, but I'll tell you that for the shim that I've been talking about that you could just add with a single script tag, whatever limitations would be there for ECMAScript 5, would be there anyway, because all this is doing is shimming the same thing. Over the course of time, as this is built into browsers and built into JavaScript engines, most of those will go away. What other questions do you have? Okay, so again, promises have been added into the standard library for many years. So the JavaScript standard library in general has been tiny compared to the world where Java, C-Sharp, Python, Ruby, all of those things. We've been growing that very significantly with the advent of ECMAScript 2015. How am I doing that? You're all keeping track of my time, right? You're all promised. At least half of you raised your hand. So next we have been given a piece of functionality called object.assign. Object.assign is a very similar functionality to jQuery.extend, underscore.extend. It merges multiple JavaScript objects into one. This is something that many libraries provided. JavaScript has paved the cow pads, which is a term that is used a lot for JavaScript language extension that means that the JavaScript standard body decided to adopt what everyone was doing anyway and build that into the language so we do not have to continue to reinvent that wheel. Here you will see that object.assign is a function that can take multiple objects. It merges them together and puts all of the keys together. This is fairly straightforward and again, something that we do not anymore need libraries for. I think we saw an example of this in Vodal's talk earlier with LaSouche. I'm pretty sure. Again, the JavaScript language gives you that now. Additionally, again, for very familiar purposes for the Java C-Sharp world, we have... Ah, yes, please. It overrides from the right-wheel override, I believe, the second... the furthest parameter over-wheel override. It does copy, but if there are multiple keys with the same... Actually, I'll try that. If you have two of the same key in multiple objects, the second one overrides. Gratefully, with slides like this, you can just try it all. No, sorry, I understand the question. It assigns all of the properties... The typical pattern to do what you're describing is this. It assigns everything in the subsequent parameters to the first one. That is the official semantics. That is the same as jQuery.ext and then underscore.ext. Four sets. Is everyone here a JavaScript daily developer or do they use other languages? Other languages. I was a Java developer for a while. That's why I use this as analogies more often than not. I was a Java developer and then a JavaScript developer and found that I can build user interfaces where my parents can actually see what I'm doing. I continued with that. The JavaScript standard library in Equestria 2015 additionally adds sets. Here, an example that is very straightforward in the JavaScript and C-Sharps of the world, we try to add multiple Bs in this example, but actually when you run it, there are only three items inside when you call set.size. And there is only A, B, and C because sets automatically unique in dedupe, so you cannot add two of the same item to it. If you use objects, you use triple equals the exact memory location for an object. And again, sets are now completely out of the box for you to rely on. Many good implementations in NPM, but all very distinct implementers. So now, a little more complicated example. So again, as our little programming languages have, we now no longer have to rely on object to be our generic key value pair for anything. We now have maps, and the biggest distinction between maps and objects is that map keys don't have to be strings. Right now, if you try to use object as a key in another object, it actually calls to string on that object and uses that string. Which is sort of convoluted and very confusing if you actually run into a bug that you created because you assumed that you could use an object as a key. Now, maps in ECMASTER 2015 are able to take as a key more than just a string. Here in this example we create a map, key as value. We check here's an example of an object that has a key named key and a val assigned to it and a map that looks very similar that has a key and a val. The two different ways to look up into that is for an object to use the key in syntax, for a map we use the has syntax. So here these are roughly the same and for a string they're almost exactly equivalent. But for a map we can also put in as a key an object and we can specify now it actually has that object but if I create a second one, now even though these two things are exactly the same in terms of their values when I try to see if the map has it it says false because these two objects are actually different objects in memory when I try to get that it gives me nothing because it's not there whereas here I am able to look that up. So in Equus for 2015 using maps we are able to use objects as keys you can use DOM nodes you can use pretty much anything as a distinct key rather than having to rely on to string and needing to make sure that every object has different values inside of it to make a difference. Yes. So maps also have the iterable interface so map I think I understand your question let me see if I can do you have to use new is that the question? Ah, I see I do not believe so map is not a function so no you cannot. Yes I do not believe so either you cannot do that but so maps are also iterable I will talk a little bit later. So Equus for 2015 again I do not know if I go through this significantly I have added a new feature where you can make your own objects iterable this is another thing that other languages have, iterables have a .next similar kind of thing where you can create objects that are able to be used in the language with the four of syntax so four of is a new similar to four in four so using this new syntax I am conflating multiple things here but you have seen at least one example of this before this is using the syntax something of map the of is the key piece here four of is a new looping mechanism in JavaScript in ECMAScript 2015 the four of loop can be used with your own objects as long as they implement the iterable interface maps implement the iterable interface so you can pluck out of a map a key and a value in this case in here you see key and a value because maps are iterable you can't look up by square bracket but you can iterate through all of them they are unordered but what other questions do you have? yes actually remember the syntax for that the question was can you create a map from an array you can definitely create an array from a map as well arrays have array dot from so you can go that way array dot from is something that will convert almost any iterable into an array of keys and values array dot from is another new piece of ECMAScript 2015 that you can use to convert array-like objects so if you are used to arguments which is almost an array DOM node list so if you do not use jQuery to query the DOM and you use document.query selector or something like that you actually get back something that is not even though it looks like an array in your console it is not actually an array it doesn't have slice or splice or any of the typical methods that you can use on it you can use array dot from as a new piece of ECMAScript 2015 to convert that automatically into an array instead of using the very odd another incantation square bracket slice that call so array dot from on the map I do not believe so you can convert it into an array and have that but there are probably other methods that let's look this up so almost all of it just like how pretty much anything on the web and with JavaScript you can easily look up in MDN the Mozilla developer network I am praying that I actually have internet right now similarly you can look up pretty much everything in ECMAScript 2015 also in MDN so here are all of the methods of map clear delete entries it does not have but you can easily convert that to an array and filter map so now in terms of even more obnoxious incantations that we are used to in JavaScript that are replaced by clear implementations of them instead of having to use index of in arrays we are able to use a new function on array a new prototype method on arrays called find find is it takes a function and this is an example of an arrow function that I will explain a little bit more later that can tell you what so here this will find you an element that happens to be 3 the few features that we are using here in addition to find our arrow function so this is a much smaller and cleaner syntax for this those are the same thing but you don't have to type all of the f-u-n-c-t-i-o-n that some people happen to be very annoyed with I forgot the semicolon I know I feel so ashamed so it is really in the example I have just described it is purely a syntactical thing you don't have to type the return but there are semantic differences that I will get into in a more complicated slide a little bit later so object.is additionally is a way it is similar to triple equals except it works with some of the magic and it works with some of the magic like nan and infinity so again we are able to add both find and object.is with ES6 shim here are some examples so if there were if more people have laptops here I would encourage us to wait for a few minutes have everyone actually try some of these these are great examples in a website called ES6Cutters which so these are examples that will actually get you to pass many TDD style tests to be able to test your knowledge of maps, sets, arrays lots of the different features in ECMAScript 2015 so I am here to be having some technical difficulties okay sorry I don't know what happened I have control again so all of these features I have listed about 10 of them there are dozens or more all of these you can add into your projects no matter what their platform no matter what their system with a single script tag that again I know you are all able to do so if any of these things you want you can add this in 5 minutes 10 minutes it is download and an adding of script tag but there are many many more things that some of which which I described already and some of which I have not that you can't quite just add to ECMAScript 5 they are not globals or pieces of prototypes that you can just add functions to but rather they are new syntaxes or new semantics that if you were if you were a computer that can spit out new code it's fairly straightforward but you can't just add into existing runtimes and these are what I call the transpilables these are all of the features that are in this category where you can't just add it with a script tag but you can add it with a build step so similar to the coffee scripts and type scripts of the world if you have a build step already or if you add something into your pipeline no matter what your back end platform or framework you can add a step invert that into ECMAScript 5 that then actually gets run in a browser and has the same correct semantics as it would be if ECMAScript 2015 was actually implemented in that browser and the way that you can do that is using a few tools so Babel is right is the most popular by far but there are a few different options here if you are using gulp, grunt all the other front end build tools there are plugins for these tools Babel, JS, Transform and Tracer do are similar to coffee script and type script they take ECMAScript 2015 look through it all convert that into ECMAScript 5 and we'll write that to disk somewhere for you I am actually using in these slides I am using Babel to take the string that's written into this ACE editor convert that from ECMAScript 2015 into ECMAScript 5 and then evaling that oh Douglas Crocker wouldn't like that either I am evaling that on the fly for you so what questions do you have so as far as I know so the question is why haven't I listed TypeScript here TypeScript is not as far as I know intended to map exactly one to one with the ES2015 standard they have many features that are in addition to ES2015 as well as they do not have all of the features of ES2015 whereas the goal of these projects in general is to map as closely as possible to the new version of JavaScript but TypeScript does have, similarly with coffee script at least the ones that we have taken wholeheartedly many features of ECMAScript 2015 have been implemented in TypeScript so if you are using TypeScript already many of these things can be used I don't actually know which ones error functions in classes that's not a lot I thought it was going to be many more things than that so the first thing I want to talk about is something called block-scoped variables and if you are in the Java C C++ world this is something that's very familiar to you so I don't know about you but I have been asked a particular interview question many times over my life as a JavaScript developer and I've been a little bit annoyed by it after seeing it so many times and I hope I have never asked it myself and I don't know if any of you looking at this can immediately tell what I'm trying to get to here but I'll just describe this piece of code out loud I have an array with values 1, 2, and 3 I have another array for output I create a for loop I iterate through that array and I create a new function that's pushed onto the output that alerts the values that alerts the value at that index of the array and then for each of those output functions I call them and actually execute them so does anyone know what is going to be alerted when I click on one here? A lot of 3s, no one is going to try me with the 1, 2, and 3 thing everyone knows JavaScript so well so yes you are correct the answer is 3, 3, and 3 but this is the most surprising thing for someone who does it we all apparently know JavaScript very well I don't know what I'm doing up here but the language is very opaque here because as someone who let's say I was not extremely interested in the programming language and really understood the semantics of var which apparently we all do I look at this and think it should be 1, 2, and 3 what on earth is wrong here this variable here is not scoped to that for loop but rather scoped to the entire code here the function itself whatever is being executed around this so because of that at any one given time there is only one variable called val which means at the end of this that val will be the value 3 and at the time at which all of these functions are executed that val is the number 3 which just does alert 1, 2, and 3 but this is completely breaking the law of the principle of least surprise or whatever that is it looks like it should do something that it doesn't do and in order to get that to work correctly without ECMAScript 2015 there is a lot of jumping through hoops you need to do around creating a new function and creating new scopes so that you are able to capture a new variable whose value is 1 and values 2 we are able to add a new we are able to use a new keyword called let which is actually blocked scoped so here in terms of the interview question that you would have all passed that would have been with flying colors the we will be able to get 1, 2, and 3 because that let for each iteration of this for loop there is a different variable let because it is scoped to the block the block is between the two curly braces this also allows us to do things like instead of creating an iffy you know the word iffy iffy so immediately invoked function expression it is how most jQuery plugins for example are wrapped in something like this is to make sure that you don't accidentally leak into the global to cut everything off from the outside world with this new block scoped variable creation we can create something like inside just two curly braces as long as everything is using let everything is already scoped to that block and cannot leak out into the global so what questions do you have so let is normally used for constants so const is actually a separate and different way to create block scoped variables which happens to be my next slide so I'll talk what are the questions do you have so the scope of the question was is there any memory optimizations that the interpreter is doing here so I don't believe that there is any more optimization than the fact that it does go out of scope at the end of that block so the variables have a smaller scope than just a regular var which I presume means that it is garbage collected more but I don't know in detail but in certain cases and I think so the way that let works in certain cases if you are using transpiled code this is just more for interest necessarily than actually caring about using this in some rare cases the only way to get so there is actually one piece of semantics in ECMAScript 5 that obeys block scoping which is the exception in a caught exception handler so if you write try catch that E that is caught is actually block scoped only to the curly braces that that catch is so some old transpilers used to in very unperformant ways use catch to mimic block scope because it is the only thing in ECMAScript 5 that really exhibits the correct semantics most of that is no longer used so let is not hoisted at all in terms of the actual specification but there are certain cases using the transpiled code where it will be because there is no there is no way to mimic the exact semantics you can presume that they are only supposed to be used within the curly braces that they are defined in the correct implementation they are actually unusable before the line at which they are defined so if I try to do something like this should give me a reference there it will not in this particular case because using these transpilers it cannot mimic the exact semantics but this is undefined because it is oh yes, potentially I think I have turned to those things for ease of demonstration purposes so there is one more way to have block scoped variables in JavaScript one is let which is obviously the most common within the curly braces const is very similar it is still block scoped if you put this into curly braces they will stay within the scope of the variable the scope of the constant will be within those curly braces but it does enforce some very minimal semantics around changing the value of that constant so here when I create a const x equals 1 and try to run it I get an error x is read only on line 3 this is something just because I have tried I put a try catch around everything in here and alert all of the error messages but this is this new feature of ECMAScript 2015 will force you to not change references in constant again another block scoped variable it throws an error it actually throws an error I think it is intended to be for early catching of mistakes instead of silent now we are going to get into a fairly long and complicated one for arrow functions since we are about at 2 minutes before a break I will let us all take that break come back here and continue afterwards thank you all I will see you all in a few minutes I just took it very disappointed in my score I did not do very well I didn't do poorly I didn't do very well I encourage you all to take it getting one question right you are really happy anyway so go for it so I am going to get started with arrow functions in a second again so thank you all for continuing to ask me questions and continuing to keep me on time because we are going to make this work I am very excited to again the fresh direct fresh desk quiz very interesting it actually goes through some of the interesting semantics we are talking about here some of the ones I have gotten wrong I am a little embarrassed about but I am still happy about it in general and I encourage you all to go try it so please continue to raise your hands ask me questions I will be asking as we go so now on to the next item that is transpilable something that we used a little bit earlier but I didn't go into much detail about someone asked a question that I have deferred to almost right now so arrow functions are a feature that we in ECMAScript basically directly stole from coffee script and at its smallest level it is just syntactical convenience over functions so here I have created a function double that uses this syntax this syntax is equivalent to so running this I get 20 this syntax is equivalent to typing function here changing this to curly return great semicolon at the end and again this is the same thing oh wow you are a jshint for me this is great so thanks to human jshint and the ability for my keyboard to continue to type semicolons we have a synantically and syntactically correct way to double something so in this particular example it is almost purely syntactic sugar all you do is remove the function remove the return change this here and you get the same thing but that is only the simplest case of what is happening for the fat arrow arrow function what is more complicated to understand is what is happening around the binding of this when you are using the arrow function syntax so what is happening for the fat arrow so how many of you have used function prototype that bind so in javascript there is a little bit of special treatment to the keyword this whenever looking up a property on this you have to consider what this is referencing in the typical case if you are just in a global file in a browser somewhere this is the window the global when you are in an object or when you are calling a function what is on the right hand side of the dot is typically what becomes this inside of that function so here I will show you I am creating a variable that is empty I am creating an object that is I am creating an object that has a location value and an initialized function and inside of that I am assigning to this global alert lock variable here if I run this you will see that I get we are at Bangalore but if I change this to the value I am going to run this with syntactically the same thing if I change this to just a function which seems to be exactly the same and I run again the I forgot that earlier so please raise your hand when I have a semicolon so again here all I did was do the same transformation that I did earlier with double I changed the fat arrow syntax into a function property lock of undefined which means that something has happened between the changing of the arrow function syntax to the regular function expression syntax what that changes is that this is bound to a different thing in the when I do not use the fat arrow this is bound to in strict mode undefined so when I am running this it says cannot read property lock of undefined as an error because this is undefined when you just use a regular function but when you use the fat arrow this works now why does this work this works because what is happening with the arrow function is that it automatically binds this to whatever this is in the context that it is defined in so this is similar to how if I go back to the function version if I dot bind this again this works correctly so fat arrow is doing something a little bit more the arrow function syntax is doing something a little bit more than just saying don't worry about typing f-u-n-c-t-i-o-n for your fingers to do on your keyboard it is also automatically binding the value of this to the value of this in the context in which it is defined so this is a fairly advanced topic and it is a little bit of it is confusing around one using the word this in a sentence is sort of difficult anyway but what questions do you have around what this new feature does in addition to just changing syntax so someone earlier asked the question as to what the difference is between fat arrow and a regular function most of the time it is syntax but it is also this one very specific and very interesting difference also when you use the fat when you use the arrow function syntax you cannot call or apply and override the this context most functions in javascript define this way you can do something like you call that function with a different this you cannot do that with arrow functions as well there is no way to avoid this default so the part of the reasoning behind the arrow function is this difference so no you cannot avoid it the only way to avoid it is to use the regular functions in that it is all the typing it is so annoying so again this is another feature that using a transpiler we have access to we don't have to wait until the whole language in all of the browsers we can add something like this into our build process so the next feature that I am going to lump into a few different pieces here is destructuring so you have seen some examples of this already this is another feature stolen from the lists of the world that will allow we don't have to spend usually and this is probably true in most of the code that you write in some of the code I write anyway because I am not always writing in eclipser 2015 so the first few lines of our function is spent plucking things out of all of the arguments so we have maybe an options argument and a few other arguments and our first few lines is take the second item of this array and assign that to a variable that I actually want to use in my function take a property off the second argument and I want to use that as an argument to the function now using a syntax like this we can break apart arguments to functions we can break apart variables into their component pieces using this syntax so here instead of having to write something like instead of having to write all of this out like we do in the beginning of most functions we can break that apart directly inside of the definition of the function and here again this just works destructures to one and three basically a syntactic convenience around breaking up different parts of objects and arrays is it possible to do that in maps? in maps I know it is possible to do this with objects I do not know if it is possible to do in maps I'll look that up and we can talk about that later it's not, I don't think so but I will there are arguments for future versions but you can do this for objects so I believe this will work yes so you can break apart objects in a very similar way objects and arrays are still special special syntaxes and JavaScript maps are just objects that implement it dispatch b is that what you said? no this is just destructuring just creating new variables yes I have more scholar to learn I'll talk to you about it after what are the questions do you have? you can destruct your arrays you can destruct your objects as many pieces and as deeply as you want to go so I think that if you just use regular the question is if you have multiple elements and you don't want to destruct all of them how can you do that? I think that you can just do this so you need that many commas basically I think it's a fairly common convention to do something like this with underscore being things I don't care about but you don't need that you can just put commas for the empty slots this particular piece only works for fixed sizes I don't know if there is a way to get first and last in terms of destructuring so if there were if there were more so for example if you're passing things to a function there's something called rest arguments where you can if you do something like this for whatever arguments you pass to this function so let's say I pass this ah, okay so using another feature of ECMAS for 2015 that is not destructuring you're able to pass in using this redox syntax this is called rest parameters now rest is an actual array so here you get all of the pieces as an array and you can use the array methods like for each I don't know if you mean something like so you can do this so a, b so here you can get the first one the second one as separate variables and then using rest which is just an array you can break apart all the rest so here I have an example of something similar to the question that was just asked so we can put together a lot of these new features some pretty esoteric syntaxes that most are not used to but eventually we will get used to in JavaScript so here I am using I'm creating a function called destructure that again takes this rest arguments which I showed you as an example earlier I then break apart those arguments into two different pieces one is options one is the callback and here I can if I call this passed with the object defined here that I forgot a semicolon for I apologize and then run this they get true which is the value of the v property in options and the type of the second thing which is function now here I can also do something which will again give me the same thing because you can actually destructure in JavaScript deeply so inside if an array has an object inside of it you can destructure the array and the object at the same time which is what this syntax is doing some of these can get very esoteric and unreadable so use these kinds of features mixedly with caution but you are able to do all of this because they are all relying on the same sort of destructuring syntax and semantics what questions do you have I am going to talk to template string so this is one of these things I don't know about you I have been so annoyed in all of my life in JavaScript having to write string plus string plus string I have made at least a dozen JS fiddles that will take an arbitrary text area and break it by 80 character lengths so I don't have to do that myself I understand there should be a tool for this but now we have been jealous or not we have been jealous of the Ruby people they have been making fun of JavaScript because we have not had for a long time we now have template strings which is easily able to interpolate variables and to stringing them and put them into strings and you know so this is we have template language for a lot of these things so this is not by itself extremely impressive but what for me is way more impressive is that I can now enter new lines in my string I had a mic I would drop it that's amazing it has taken so long and so many times of me having to type slash n slash r slash n figuring out what line ending line in and now we just hit enter so this one is fairly straightforward but what questions do you have about template string reading the transpiled output of this is very straightforward and simple just figuring out how many new lines to be adding into that I'm pretty happy about I missed another semicolon I'm just I apparently don't care about semicolons I apologize so template strings require you to use the back tick so it is not a single quote it is a back tick and there is actually an additional feature of this where you can actually pass into a handler this is much more customizable than what I've described here this is the most basic use of template strings which are just concatenation of different pieces together but if you want to you can use something called a template handler which is which will allow you to be given the in a particular data structure defined by the language the pieces that are static so the I'm space the pieces that are non-static and will allow you to do things like escaping HTML appropriately or automatically there's an interesting one that is SH so it will convert whatever you have into a correct dashable form automatically for you so you can write your own custom template handlers that will do more interesting things than just concatenate most notably escape appropriately for whatever system you mean so what there the dollar gets to string it is to string so a function whatever to string the function would be yes you can so you could do so you can write expressions again they are all to string afterwards so whatever you put in there although I would recommend not doing that much inside of the template string but you can evaluate things inside so I'm going to get on into the generators so how many of you have used generators before any language so this is a bit of a mind stretching exercise so I should ask you all can you want to try with me you got to get the mind going so generators are a new feature in ECMAScript 2015 that allow you to create what are actually iterators that look like functions that never have to end and they look that way and they're differentiated by this special new star that means everything is different now so be prepared for it what this returns is so a generator is a function defined with a star at the end that is able to use something called yield so the yield keyword it allows you to pause the execution of functions midstream so this is something that looks it has a while true in it and it looks like this would be something that would run infinitely but what this actually does is allow you to externally from the generator pause between executions of the generator so this function when executed will run until the yield is a creative variable while true run until the yield and once the yield is executed it will give up control to whatever is executing the generator until the generator again gets called so how that works is a syntax I'm not going to go into significantly here but the way that you can use that is this is an example of a generator that represents the infinite series of integers so it is numbers that go on forever using the four of syntax again we can pluck things out of that generator because what generators return are iterators and the four of syntax is used on top of iterators so here I will go through the first three numbers doesn't make sense though so I will let my internet actually hopefully connect so I'll come back to this in a little bit I'm a little confused as to how that happened so next and last on our jaunt through this I'll come back to generators in a little bit is the class syntax so class syntax has been a fairly controversial one in the grand scheme of JavaScript mainly because some people are afraid of it looking like Java and other people are afraid that it doesn't look enough like Java so at some point between this tension a winner came out we have class syntax it is actually it is purely syntactic sugar in the general case on top of regular prototypal inheritance in JavaScript it allows us to do some nice things like actually give interfaces allows us to extend arrays right now in ECMAS root 5 we cannot actually extend arrays we can only do things that are close to it here is an example of creating a class it has a constructor it is super and here it says an example we are able to run this it says hey because it calls the greet method you can have as complicated object hierarchies as you want to although it is recommended not to be so complicated this is again nothing you couldn't do in JavaScript in ECMAScript 5 there is nothing particularly special here syntax for people coming from more classically object oriented questions do you have? yes you can so everything on this so the question was can you access greeter.message and the answer is yes you can so everything here is public by default that is true for JavaScript just in general properties of objects are generally public but there is a new feature of ECMAScript called symbols we are able to create private symbols to be able to add private things to objects I am not going to go through that here but if you would like to learn how to make things that are really private Java C sharp style private that is now possible and I would love to talk to you about it yes this is all what this is doing is automatically creating the right greeter.prototype.blank if you look at the transpiled output if you look at the transpiled output it is basically that oh this so class this is again similar to existing JavaScript things the class syntax automatically creates those prototype methods for you but you are also able to add whatever inside of these curly braces you are able to add whatever you want to that function itself so this is added directly to that I don't use that but that is possible I am trying to get back to the raffle so I can show you that generator example because I am still confused and I apologize for that but we will if I do not get that working right now I would love to talk to you about that after so again there are many more examples in here that I love for you to actually play with because there are live interactive demos that you can see confirm your understanding of some of these things and then ask questions about for me so I will be here the whole time I would love to talk to you about it afterward so I do have some examples of the modules and the module syntax let me see if I can get that apparently I cannot my keyboard is not working I will continue with this so there are inside the repository that I have and the documentation that I shared the link for earlier I have a few examples of the different modules of modules and how we can use them there are after a lot of discussion and some heatedly so there is a very robust module system built into ECMAScript 25 it is one of the large large lacking of JavaScript so far because pretty much every other programming language has some sort of module system such that we have been living in a world of only globals and name spacing for basically our entire careers in whatever JavaScript you have been writing using the so the new module system syntax is something that basically appeals to all of the different use cases both on the client and the server that you might have for using JavaScript it is something that if you are familiar with the module systems of Python, Ruby, things like that it is very straightforward as to what JavaScript is trying to do and again I will talk to you about that further afterward so there are some pieces of JavaScript that are not in this category of being able to be transpiled into or transpiled into a version that the browser can actually use there are some intractable pieces just like this insane Rubik's Cube that someone might try but I will never be able to win that we cannot yet use until browsers start to implement them gratefully there are already pieces of this that are being implemented by JavaScript by JavaScript engines but not yet necessarily everywhere the first one of these is weak maps so this is something that library authors have to care about more than user land people but it is basically a way to optimize memory usage in maps as garbage collection and making sure that the map itself does not hold references to things that is not something necessarily very useful but proxies and tail call optimization are something that especially the functional programmers of the world are very very interested in having in the language itself proxies are a mechanism by which you can extend the language to be able to add metaprogramming hooks into JavaScript so if you are familiar with Ruby's method missing or being able to add metaclasses and python this is the ability to create objects that stand in for other objects and can forward property lookups and method lookups to other objects as needed this is a new feature that we cannot mimic at all in current JavaScript engines and once is actually implemented and more widely available will make things like two-way data binding although not necessarily as cool now as it was a year ago will make two-way data binding and things like that very simple and straightforward because we are able to hook into JavaScript engines much more than we are able to additionally tail call optimization is something that in certain cases we are actually able to transpile away but in the general case when writing recursive code although I will admit that I am not one of the most significant amounts of recursive code we are able to the JavaScript engine is able to optimize that significantly away for you so you don't have to worry about blowing through stacks or calling a function 10,000 times all of that will eventually be handled by the language itself these are some of the most complicated and interesting changes in the language but they are farthest from the general public being able to use on a regular basis oh I didn't know that so there is a way to mimic some of these things similarly with tail call optimization you can I am not going to try to implement that algorithm myself but I am glad it exists so what questions do you have ok so I have just scratched the surface of the iceberg that is ECMASTER 2015 already spent about an hour and 30 minutes or so and I have covered maybe a dozen or two of all of the features that have been added there are on the order of 125 what is called features some of them are sub features of other things there is a great list that if you have these slides you can click through that cangax has put together of all of the new features over a hundred different pieces of them and all of the different browsers and transpilers that implement pieces of it or not so you can take a look at this and go through some of them many of them are in the category of shimmables you can have that tomorrow some of them are transpilable you can have them in a week because I believe in all of you that all you have to do is sit there and figure out a build tool and then there are many pieces in here that I have not talked about this site has great examples for that MDN has great examples for and there the especially when you consider the fact that many of the great pieces that were intended for ECMAS in 2015 have been pushed to 2016 and 2017 the list of new features that we are basically guaranteed over the next three years is even more interesting and even more holistic we are getting a whole range of very very fun new concepts and again many are spilled in from other programming languages gratefully we don't care about plagiarism so what I think that you should do walking out of here and I know that at least some of you I have seen the glint in your eyes about not having to type plus signs at the end of strings to concatenate or not having to type index of is greater than negative one because where on earth did that even come from there is probably some background for it that I don't know but I know that there are people out there that want to and can go and add yes section just throw it in a branch your manager doesn't have to know tell them John Paul told you to do it at a conference and they will not care realistically no one even needs no because you add the script tag and if you never use these features you never have to use these features completely backwards compatible that's another piece of the ECMAScript philosophy because JavaScript is something that ties the web together and has been tying the web together for over a decade it's very very hard to be completely backwards compatible therefore you can easily add these things never use the features and no one has to concern themselves with it at all and gratefully we're not breaking any websites from any time in the past by pulling off all of these new features we get to use I encourage you to read these people's blog so Axel Ruschmeyer, Aria Hedayet and Adios Mani they are prolific writers as well as Nicholas Sekus are prolific writers about ECMAScript 6 the new features they're in they're particular gotchas and they're particular very interesting and useful pieces add a branch with the transpiler because again one speaker at conference told you you were able to do it so you can get away with it with any manager but the amount of work here to do is not that especially if you have a build tool already in place if you're in the coffee script or tripe script world or if you have a build tool that just concatenates all of your scripts and minifies adding in a transpile step is maybe an hour, maybe a day, maybe a week but it's not six months and being able to start to build into your workflow these new features and more future-facing things really gets me excited even if I don't use anything it just gets me excited that they're there and eventually we'll start to migrate things over so I think you should do that so I think it's hard to get through any talk without using any memes so go transpile and shim everything thank you so much for listening to me I appreciate it what questions do you have there's definitely time to go back through some of these things and I know that I've dumped a lot of information on all of you so thank you how many of you had already added the script tag it's so easy I know you have your code sitting on your laptop so using the modules the question was how do you import classes if you have them in a separate file so classes are just so just like how a javascript right now if you want to create a class in ECMAScript 5 you are just creating a function that function can be you can be used new and make a new instance of that class so similarly these are just functions when you use this class syntax that I showed here greeter is a function if you type of that it's just a function so whatever you could do with the module system using functions you can do with classes they're not particularly special this is one of those things that are a little bit confusing the fact that you're using the class keyword and it generates a function not something else special this is just syntactic sugar you are able to be assigned to variables just like so here so this is an arrow function here on the left this is an arrow function it is assigned to this variable you can use them just like whatever you would syntactically use a function expression so you can assign it to a variable you can pass it as a parameter to a function you can use them anywhere one of the questions do have you cannot write interfaces that are checked interfaces in ECMAScript 2015 you can write classes that implement interfaces in ECMAScript 2015 I believe that in future versions there is intended to be things like language supported ways of checking that but there's no straight comparison with Java interfaces that would require a type system that means you can make anything into any interface so yes TypeScript can do it sounds good thank you so much


Hi, I'm Ryan King, Director of Business Development for Red Hat Certified Technology Ecosystem Team. Red Hat, the Open Data Hub project, and the OpenShift Data Science team have taken an ecosystem-centric approach for offering data science and data engineering capabilities on top of OpenShift. As you know, there is a broad set of upstream projects and companies engaged in developing new data science and AI offerings. We have taken a broad approach to upstream engagement through our Open Data Hub project to categorize and cultivate key technologies. In the past two years, working closely with Red Hat's enterprise customers, we have learned the key use cases that data engineering and data science teams are looking to implement in a cloud-native Kubernetes hybrid cloud environment. Open Data Hub's upstream ecosystem consists of two categories of partners, general partner enablement on OpenShift with certified containers and operators, as well as partner projects and products have done work to develop Open Data Hub's specific use cases. Red Hat OpenShift Data Science will provide access to all these partner-certified offerings, but will also have use case-specific integration with key vendors. We are excited to work with you on your next data science initiative and bring the wealth of technology and products our ever-increasing partner ecosystem has to offer.


Hey y'all what is poppin welcome back to another video if you're new here my name is Kyra do not forget to like comment and subscribe So oh my god job It's time to go see Beyonce one more time One more time y'all. I got my nails done. It's giving very much club Renaissance. Okay, so I'm gonna see Beyonce for the last time As far as like her Renaissance tour show in New Orleans I wanted to go to the Houston show, but I wasn't able to make that And Kelly was already going to the Nola show. So I was like, okay, I'll go and y'all she wants to do a road trip So we're road tripping there.  Maybe I should keep it straight. I love it straight. It's very Beyonce But I said I don't the curls that you want cuz I'm gonna just do loose girls Wait, wait, your chin is like real greasy But she looks good You can shake it My nails done giving very much Renaissance and I'm just about to pack my clothes And I kind of want to open the packages. I just got from my mailroom because I just came back from Wisconsin I just want to see If any of the stuff that I ordered for the this concert is here I know there was no top I really wanted to wear did not come from Meshki because I don't see it and I'm we're leaving that for I am So there's no way I can just wait on it and yeah, so but the jeans I got are metallic I I feel like I showed This in my blog before but there's these metallic pants I was actually supposed to wear in London When I was first to go see Beyonce, but they didn't come in time I just can't wait to see my girl for the last time and I'm in club Renaissance And I'm gonna try to get there early that I can get beer cake Because I really want this to be worth it y'all and like this tour has really brought me so much joy so much inspiration Beyonce inspire inspires me in so many ways like y'all just don't even know her visual mind Like it's crazy and I am a visual type of person I'm delirious right now because I was up at like six o'clock this morning and Had a trouble for Scott today. I haven't rested yet I'm gonna open these packages and then I'm gonna take a shower and then pack my stuff But right now I had to download these files. I had up Did with Royal?  Let me actually open these packages up I'm gonna let my laptop charge because I'm probably gonna edit that in The car because I'm not driving all the way and I need to be somewhat occupied in the car First package I got from is from mood and I really love my hair y'all should I keep this the whole fall time? The brown It's so cute. So I got some new stuff from mood, which is Debella's clothing line This is their Instagram. Yeah, cute. Okay, so any hole so she gave me this Yeah, I think this is They gave me the matching sweater, but yeah, these are the pants Super cute. I definitely have to go get them taken in, but I love the cut at the knees I'm a little delirious right now. I don't feel like I can think Right now. I'm really so tired. She gave me this cute black dress is so fly y'all. I can't think I got these push-up bra things and I think it's a making this adhesive part is sticks to your clothing and Then you put it on and then the lips are blue. Are these a lymphatic drainage drop Renaissance This is cute. I Got this one cuz it reminded me of the product phone guys. Yeah, this is kind of cute I'm gonna keep this on. Y'all what? Oh my god. I'm so sleepy. I feel like I'm so annoying right now I had to get some more Seamawks That's the new makeup. I had a stack up on my ponytail cuz baby.  They're nice and I'm gonna sleep I'll probably check my child when we get on the road They're running late. Wow, and how do y'all like my hair coming up a little if y'all lost them get I Like a Yeah, Kyra, what do you want? I just want a Starbucks drink like the vanilla Yeah, first of all, I wasn't even supposed to be driving. Okay So these people come over here talking about some day tire Like y'all y'all what did you think you were gonna be at five o'clock in the morning? What are you doing? Girl look can we relax? Yeah, you should oh we're about to get on the road. I got on my juicy girls shirt I want to I want to wear I want to to take some like cute like world-side photos Maybe I don't know we'll see how it goes, but yeah, I'm the first to drive I'm knocking out the first two hours and then somebody else is driving but yeah My face looks so Swollen like I don't know what I ate, but I feel so swollen But anyways, y'all like I said, I wasn't even supposed to be driving first. I don't know What happened when um I don't know what happened when we all of a sudden came about at this time of day and Everybody's supposedly tired But I'm not missing my girls. So I'm like, okay, let me let them sleep I'm gonna knock on my first two hours because we got six hours in this car So in plus I brought my laptop because I need to do some work. So Please don't bother me, but this is gonna be my first road trip with like a group of people I've rolled with like my significant other once before but never with like a group of people But I'm pretty sure they're gonna be knocked out. Donna's giving me the strength.  Let me see what I'm gonna play Cuz I gotta have a fire playlist Why are you talking to me right now, are you talking juicy I Can't believe like y'all all of a sudden are so tired that you can't drive I can Know you can't drive two hours. No, you can't.  It's not fair You really said he's driving next I do I am a smooth driver though I'm not gonna lie. You are actually felt comfortable No, no, I was gonna be dreaming. Yeah, it's six Y'all is not the freaking Opalica where for real, thank you so much Thank you, Boogie No, you're in Georgia, sweetie We just Wait, Nila, did you want something? You're welcome to our smooth driver.  I'm like girl. Come on. I was sleep. I didn't want to wake nobody up. I Kept waking up to check on you Thank you Make you better take your little 45 second I When she said she was gonna drive but she got her new week on Alabama, okay. Thank you. Have a great day Oh Can I get one more sriracha, please? I'll sit in the back. You can sit in front with her.  The ride was actually not that bad So anyway, wait what no, it's blazing. So I guess this window goes up and people just watch people watch like on Bourbon Street This is so nice y'all Anyways But yeah, this house is super big it has two levels to it, but I don't like that. It's only one mirror and Look at this kitchen though. This house has a lot of character to it. I think it's super cute But you just never know. So there's like a bedroom right here That's Kelly is in Nile's room. There's a closet with a bed somebody can sleep in the closet. No, I'm just kidding And then there's like a king bed down here as well and then a cute bathroom Or whatever This is so nice and I'm gonna take y'all upstairs. So I can show y'all my little nook Or whatever, but yeah, it's only for a day. Yeah, so I'm up on a vlog right now But I'm washing my face. I'm keeping this on. I didn't do an elephant with some photos in it I'm just going, you know, my skin care and I got the foil with me Just to get my skin some hydration Yeah, but I'm in a bath Just like that, your girl is ready to beat them. No Changing into later so You can probably even go later on the tips. Yeah later on the tips. Yeah, that would be so cute Baby get the shoes It's over For one day standard down in New Orleans for like Airbnb is so hot because you have to bring the culture inside the like Yeah, the culture. What's this? Is this that aroma stuff? This is You look like you Look at what she's putting Oh, that's a Yeah, yes This my outfit super cute Zara tank these are revised denim pants I actually Was supposed to wear these in London But they came late, but here we are at show number four I wanted to wear different diamond necklaces, but they didn't come in time I have my old one and then my ring jewelry, you know So I'm probably just gonna vlog up my phone. I want to show that everyone's face So y'all can see them and we got a special guest here, but I'm gonna wait till she Got some pants on cuz I think Um, so this is how big Y'all he made Pants in one Don't play with the Ricky's Yeah We gotta be on a website what we gotta try and make it on the website. Come on. I'm jealous here Y'all can hear her in the background. She looks so cute.  Yeah, I'm not taking that one.  Can you ask him how does the AC work? Let's go You want a little bit of lemonade This is Not even doing anything I'm ready That's cute They'll probably be so cute. Yeah, we're about to go Nila. Let's see her fit. Let's see your fit Yes Docs Shorts is given boy T Yes, I love when you wear your hat. You look so cute Broccoli dials. We literally got here dinner where it's like five o'clock in the morning. I'm tired She enjoyed herself at the concert. I wish we could have got her in club Renaissance What else but could it end up thinking in club Renaissance and it was so fun So and Kelly I did too. So it was a good time I'm so happy day, and then it'll be in there and y'all she did drunk enough big in all of my mind And it was just such wow, like I really wasn't recording the whole time like I normally do in the first few shows. I Just recorded like a few clips, but I was really like Ten out of ten and then I'm eating so many of y'all here in New Orleans I love y'all if I met you and if you said hey Like I really appreciate y'all coming up to me It really does mean something to me that you know, I'm putting a face to my supporters and every time I meet y'all I just am filled with so much gratitude, and I'm just so grateful I'm tired and we'll see what happens tomorrow We'll probably explore some more New Orleans But So y'all it's the next day and I want a house like this. I'm sad to be leaving this Airbnb is so cute the windows the break The character it just it's just giving me life But anyways, we're all packed up, and we're about to head to go get something to eat at where? Niels Creole cat if I ever get lost all I gotta do is look for a big shiny head Anyways We're going to wear You look so cute Sitting pretty period has so much fun last night cadet didn't come out come out with us Because he was asleep you're all What But did you have fun? Everybody was complimenting you on your shirt your outfit. That was like. Oh my god. Did you make that? He was like, yeah, this is it Steve Madden shirt We should have done that for him Yeah, I had such a good time here. I want to go to that art place I want to go there yes to do be because I like to look at our y'all. I like to really get inspired And also, I just love getting inspiration from like our work But yeah, I'll check much out once we get to the food place. I'm starving and Yeah, we gotta hurry up and get out this area. I also love in these shorts My outfit online set me and oh my god, they have these straight leg sweat pants That I love it's nice and big these muscles came out I gotta get these and more colors because y'all know it don't stop getting hot in Atlanta until like what? December So, yeah I have another be well honey man I know more people don't but my so crispy Different flavors, I think this one like So y'all we're on our way back home, we're gonna play a game What game are we playing? Okay?  Okay, go Game is like Somebody says I bet you I can do this and they're like And then you say how many you can do and then if you get it wrong so let's say I'm like I can name This team be I say sauce. I know you line. You have to name them and if you can't mean we can start We could try but it could be different topics. Okay, like I can name Three so it's awesome. We got a guy named three cities in Florida. Okay? So what is it? I think what does it have to do? No, I think the loser Out the top of their lungs out the sunroof Are they trying to clown on top of the hood?   How do you it's gonna pitch in? Yeah, so that's a lot Don't be you again I forget Yeah, cuz I did it Yeah, so we're almost home and y'all I did not know water burger was all the way out of a burger I Seen that they build one in Georgia, but I just didn't know what part of Georgia We're at nine Alabama Text We're in Auburn, where's Auburn Yeah, we're in Auburn you might be it says you We're almost we're almost in Georgia we get across that line But this water burger has a Auburn Local on it My aspiration in life Would be got home and I'm about to go to sleep. I took a shower My candy cane pajamas. I smell so good right now any home. I'm about to go to sleep. I'm tired We just got back from New Orleans it's 12 o'clock here and oh my god y'all the car ride back was so much fun We was listening to old jams check that lapic tapping We was just having a blast. I have a long day tomorrow So the sign to take a road trip with your friends go somewhere Have fun rock out Yeah, yeah, yeah, if you want them cookies on maybe you won't feel my pain, but yeah, it was such a Nice trip. It was just a day trip. Talk to you Morning y'all it is Sunday. Oh my god.  So it's gonna be so cute. I'm y'all I went out last night with royal He asked me to go to the fair So I was with him and like, you know, it was all of us like the guys Like it's like me plus them but they had dates and stuff or whatever But it was such a fun time went to the festival the north the Georgia State Fair and then We came back to the city had drinks and stuff and I'm kind of hung over So, yeah, but today it's gonna be a good day And yeah, I'm just very Excited for today, but I'm like, I don't know how this Surprise is gonna go. I don't want to be late, but y'all it was such a struggle for me to get up today I didn't even miss church So I was so mad. I woke up at it like 11 o'clock. I should just woke up in the dress, but But yeah, so I probably see y'all once I get there.  So But yeah, as long as I'm there, you know, as long as I'm just there to support It doesn't matter what I have on I was just like, you know, I'm not gonna try to get all doubted. Let's just get there So, yeah, so I'll probably see y'all once I Okay, y'all, so I just got home from Tasha's Party and now we're gonna go get hookup of course. So I just throw it on this little one piece from my outfit I'm losing memory and then I just have my Chanel back for a pop of color and my botegas and yeah I'm just gonna vlog off my phone. So I'm gonna see y'all when I get there and I got A6. So Let's go and I'm gonna tell y'all about the party I'm I like a follow me to you. Hey y'all It's been like a couple days since I haven't talked to y'all since Tasha's party But I was getting work done Monday and two. Yeah on Monday. So today's Tuesday and No, today's Wednesday, I was getting work done since Monday and Tuesday Um, so yeah, I was just editing anyways. It's Wednesday. Happy hump day. So I'm about to go to the coffee shop and meet Aliya there. She texted the group. I'm like, I'm going to the coffee shop if anybody wants to come And I was just seeing her last night. We had taco night. It was so much fun at her house We had such a good time. But yeah, I'm just gonna get more work done. I have to edit like a TikTok I got to start editing a vlog Girls line there was a song go out of her it was like a preview of a song and You know, it was only like six seconds But the full version released and it's so good. It's called don't you found it on on song club But that's Wednesday and then I have a birthday party to go to later But we'll see if we'll make it today and I also need to go back to cycle bar. So today is the day that's gonna be Going back so But yeah, I can't wait to get work done and this is supposed to be a new coffee shop as well So we'll see what it's giving. I'm hungry. Hopefully they have food. I'll see y'all when I get there. So I just got home We had a productive day outside We were editing stuff and then y'all like I said, we had a blast the night before we were still kind of recovering I'm still kind of sleepy. I really need to take a nap before I go to my cycle bar class But I should do that for like an hour actually So I'm gonna do in a second, but um, so y'all I just did an unboxing of my Steve Madden shoes Girl what? Look at these these are supposed to be the jeep on she a lot Oh, dude, and I've seen that daughter has some basis has some now, but Steve Madden I've seen Steve Madden once before but I haven't seen anybody like We're themselves like let me just see what these are give me Why cat friendly y'all this oh Cuz the G1 cheese sharp boots so hard to take off So, oh my god this material is So soft it's like a soft leather, but I love that you can still see the heel and it's giving like cutesy cuz the other dudes the Cab is really wide, but let me show y'all how Yeah easy period so I'm super excited about these because I just wanted a simple black Boo, I even I have one um That I like but they're suede, but I like that these are leather and they're so easy to get on And it's just a chic look like I love that sleeve Over it. So yeah, y'all these are from Steve Madden. Let me show y'all Eating the runway serving the runway These are so fire like I can't Like it's job I have a more stuff to unbox We're gonna probably unbox that later tonight, but Like I told y'all I think I said I have a birthday party to go to it's Jada's party So I'm gonna go up to that just stay high and by just to show face But I have a cycle bar class first hip hop Wednesday. So I'm one of that But yeah, but yeah, it shouldn't be fun. So I'll probably check them with y'all later once I Start getting ready for that But I'm probably gonna take a nap real quick and then we'll unbox stuff later on in a week Cuz I have so many packages Crazy Y'all so I just got a package in from Meshki I'm actually gonna film a tiktok video So I wanted to show y'all the pieces that I picked out from them and also everything will be linked down below And then also I do have a coupon code with Meshki so y'all can go shop with them and save some coin This cardigan so cute. Oh My god, and it's oversized. So Real cute Y'all. Oh, yeah, this is so cute. So cute. So cute Yeah, I just love cute things it makes me happy and then this blazer is so Cute it's giving body as I can see is giving like cello way It's gonna bring your waist in and I actually have a blazer like this from the Frankie shop that I'm gonna start Wearing when it gets colder, but it's so cute, but I wanted a black version But as y'all can see it's gonna take your waist in Cuz I want to look a chic and like put together in the fall Heria. Oh my god, I love this maroon color. It's like a moto jacket But it looks brown on camera, but I swear to y'all it's like a burgundy color get a close-up. Oh my god This is so Oh Mesh key is definitely snapping. Okay. Got a two-piece set. This is so cute for the holidays. I love a good little glitter Metallic moment. So I got this top It's like a turtleneck mock neck so I can wear this with like stockings underneath and be like so cute But this matching set gorgeous and I have a set by Mesh key that I love so much. It's like a nude Um turtleneck with the arms out and I think it's the cutest thing So I did go ahead and ask for the same set, but a different color and I just love it I think it looks so put together. This is like a olive green and It's gonna be so perfect for fall. Wow fall is really here time went so fast Time is so precious It's just crazy. I got a silk skirt I thought this would look so cute with like a t-shirt tucked in with some. Oh This is not a skirt. This is a dress So I thought this would be so cute just a throw-on cuz y'all know it's still hot here in Atlanta So it's a silk dress Hulter top and it's super flowy and I thought it would be so cute with like sneakers And just some like fire sunglasses, you know, I know I love me a little zip up coat Let me see what this is giving. Let me see if it's giving baby. Oh Maybe I'm giving Lou let me do but this is a little thinner. I Like a good thing Set honestly So fire. I love the chocolate brown Yeah, this is everything Love love love and I believe this is an intermediate because I wanted it to be tight and you already know We gotta have a thumbs out Thumbs out and buns out. Yep. This is a medium and then I'm going on a couple of vacations For sure. Like this point if it's a butt. So I got this cute little so it's like this and It's flowy Y'all I cannot wait to wear this to dinner. I Kind of want to go on vacation with like just my hair.  I need to go. I need to go. I feel like my Tana's baby Nick dress is ribbed, but it flares at the bottom She's so fire So fire. I know this looks so snatched on me. Sorry y'all I'm not trying anything on because I'm gonna try it on for tick tock So make sure y'all follow me over there. Oh this trench coat. I was super excited about y'all look at this color So bomb This is what it looks like This is what they look like. It looks like me. Oh, yes. Yes. Yes. Yes No Take me to New York.  Oh my god This is yes, and I love on a trench coat. I just love this little oversized detail right here I don't really know what you call it, but like that Yeah, I don't know, but this is so raw love the color Yes, yes Okay, Meshki y'all did that We have this Dress so I've been really into dresses y'all like they're so Comfy like the long ones. So I've seen this on their website and it's given like off the shoulder tube You can either wear it as it's soft enough I feel like you can wear it in the house we have like company or whatever or like a friend's getting or just something where you want to Look, you know cozy nice body, but you're gonna be in a house chilling. I thought this was perfect So and then it goes like off the shoulder like that. So we got This shirt It is this is so soft. Wow quality. It's ribbed soft And I love the little cutout details on the side. I believe these come with pants So this with the matching pants gonna give body as it should I love a top that really Enhances your shape, you know Cuz obviously the little slits on the side are gonna flare out making my waist look slimmer They know what they're doing and then these are the matching pants So this is gonna be the perfect set for fall I would love to wear these with like my up boots just chilling looking put together Love love love. Oh, and these are the matching leggings to go With the jackets. So I was actually supposed to wear this top to the Beyonce concert and no love And oh my god, this top is Crazy like what I say crazy It's too good But I'm probably wherever I go where this fits the vibes.  I was supposed to be because I feel it in coming time So I hope it doesn't sag up like that Like, you know, I'm pretty sure that it's just heavy. So it's weighing it down. But Yeah, once I tie it in the back or lock it pop lock and drop it Oh This is so wrong So nice with some jeans or something. I got me a little basic tank top You can never go wrong with a basic tank and this is super soft. This cute dress From a mesh ski and The color is a bit chunky and then the last thing I got was the bottom four That's that I really like that I asked for it in another color And I definitely size down on the pants because they're a little oversized. So this together Super cute One more thing before I actually go. I want to show you all this belt. I just got from Heaven mayhem. I believe it's called They're a little expensive I'm not gonna lie, but I need to start getting into belts.  I guess I think it's called the bean belt So this what it looks like You are so expensive. I'm telling you but I thought it was like a cute little Touch to like an outfit and y'all know I wear black and gold down So I'm like, okay, it's gonna be worth it. I think I want to go back to school So this what it looks like Just like a nice Cute dainty belt, but I am gonna see if I can find a dupe Because I feel like this is just like a nice added accessory to the outfit So like I said, I want to get more into belt So I'm gonna be in a search for more, but this one is from Heaven mayhem y'all Um, they do have silver too, but I'm like no I need to try out one color and this is in the size small medium That's it for now, and I am gonna keep this case for it cuz Hey, y'all, so I just got out of my second bar class and it was so good I'm trying to get back into the routine of that But anyways, I just laid on my ponytail. She's looking so cute. I snapped anyways I'm getting ready y'all. I did not know Rayquan's Freakin birthday party didn't birthday dinner was today I thought he was canceling it and Rayquan is my homeboy and he owns Fury Jury It's his birthday and I definitely want to go celebrate with my friend So I need to hurry up cuz it's hard being popular Cuz I have another birthday party to go to and I already told Two of my friends I would go with them. I hate rushing like this is so Bad, but I'm not gonna not go see my friend for their birthday dinner That's that would be so messed up with me to not make it to his stuff, but make it to you know, Jetta stuff Even though I'm cool with Jetta on the internet and stuff. I'm not personally like friends with her So that would be like real fake. Yeah, I Don't have it in my heart to be like a person like that.  I am gonna hurry up and I'm gonna show you my outfit once I get done. I have no top on right now Well, but really been liking the house labs and it's mixed with the Nars. This does not Increase I'll see y'all in a second. Yeah, so I just put my lashes on and these half lashes from Amazon Check the store front cuz these I forgot how good these were. Wow Anyways back to the face Y'all so this one I got on right now, but I'm about to Accessorize this outfit. Okay. This tank top is so cute. It's from Zara Okay, so I was thinking Well, I'm gonna put this on cuz it's giving pink vibes pinkie ding ding Y'all this Delina body cream is a link to my Amazon storefront So Where are those pasties? I just don't understand what I mean Anyways So I think it's giving gold Chanel because I want to wear Chanel bag I feel like I got ready fast. Well, I'm not ready. I did my makeup fast These are so cute and girly. I love them Kiyoo Okay, let me put my rings on Ring ding ding Nega I love wearing this ring on special occasions. Somebody got me this In a matching bracelet, but I lost the bracelet How irresponsible of me But it doesn't matter because that person is irrelevant So we got our earrings together rings perfume. I'm gonna go with this perfume Zemali cuz I've been obsessed And then I'm gonna mix it with um The dupe this is our dupe My Delina is actually at I think it's at my mama house So I don't have that one to actually wear And then I'm just gonna go in with this glow it I think I want to go back to school Oh, this will be cute too though This would be so cute But I don't have VR earrings so It's not giving a Or is it it's kind of cute like the purple I'm feeling the purple vibes But I will have to wear silver accessories Ew But I was planning on wearing pink shoes because I don't want to wear I can wear my white Hermes lights And I still gotta go get the bag from um I've been worn this since I picked it up because this bag actually broke the first day I wore it Which is crazy to me Because originally in my mind I was gonna wear this bag with The Chanel with the Chanel earrings You know cute because her party is at um An arcade So I wasn't feeling Like all that, you know should I wear these? Oh my god. These is giving that girl But I want people to see my face.  I want my face to be see He Um, what is wrong with me? The purple dior though. I never get to weary. I think I should wear this This with this Oh, we gotta change our earrings though one second Okay, y'all. So this the final look she's cute Situation and and I just spared it with my Chanel heart earrings. Um, and she's smelling good. She's looking good What the I just called my uber. So I'm just gonna vlog off my phone. I'm gonna stop at Rayquans Um, birthday dinner first and then go to The next one. So talk to y'all later. You're so cute. What's up, G? Why you took shots? How many? Like 12 We love you too, baby Happy birthday Happy birthday one. Happy birthday This second birthday shindig Super cute. I got it all for her in the front. The what? Oh, that's so cute That's so nice. Y'all they got a little photo op right there Cute Y'all look who I'm with I'm angry Am I? Rayquans like I told y'all and then I went to jayda's party and then we went to torring the city and who went to allure So it was a fun event for night and as y'all can see angwee was there So we um linked up and stuff and yeah, it was a good time with kelia And everybody else but today, um, I need to focus on Um, clean my house because it's a mess so bad Because I have so much cleaning to do and then also I do have a nail appointment today You know what?  The laundry is so piled up. It's it's bad And I need to start filming content for a brand.  It was so fire like wow I'm still thinking about them tacos anyways Take my child later Y'all so I done messed up my rental bar um yesterday in the afternoon I like Size like the bowl, but I don't know if y'all know but Imagine the racers get out paint and I'm gonna have somebody do this together Hey y'all so I just got home from running errands.  Maybe I might go walk tonight I don't know but kelly. I actually invited me to her son's football game, but I probably stopped vlogging my then anyways, um, so yeah, I just got home from the grocery store And I want to do a mini grocery haul. So y'all I told y'all I'm gonna say lia house the other day We had so much fun And y'all y'all we always crave something sweet. So she happened to have these kinds frozen bars And y'all this tastes just like a snickers. I was addicted I did not want to eat this whole thing. We literally had like three a piece between like the three of us It was me touching her and oh my god. These are so good And they have other flavors too. Um, I should have got one of the cherry ones and there was another one I think with peanut butter or something, but I like mint chocolate. So I wanted to try it Um, but this one specifically tastes like a snickers. It's crazy. Like wow Anyway, so I got some more of my Oatly onion and chive cream cheese Uh cheese for um, because I'm about to make a tuna melt poppy tomatoes, of course my Tuck a little bit of that for my tomato toast avocado for avocado toast the spicy jalapeno chips and like Pringles, but better for you kombucha for the gut health Orange juice just because I think orange juice hits different at night when I'm poorly thirsty. So I got four doughs Um, coconut water for my smoothies and then the best water you can drink Mount Valley Sprout water So anyways, I'm about to put these groceries up and then I'm gonna make me some lunch and then I'm gonna Clean my house. It's really just my room. I need to wash my sheets my laundry's a mess. I'm gonna wash my couch Um things too Um, but I'm probably not gonna record it. I'm just gonna go with the I'm I'll show y'all after but my room is so bad y'all like the closet is ridiculous Like so bad But watch in 10 seconds of the video. It's gonna be done. So I'll check them back and show Once I finish but happy thursday And yeah


Oh my god, you know how much it's happening and it's building right? I am really upset. There's only one episode left after this. You don't understand how happy I am on Tuesdays. Usually Tuesday, pretty much every single day, was a day I wanted to skip in life. But Tuesdays is the peak of my existence since it's Tuesday. What is Nicholas gonna chainsaw today? I was supposed to give this to my ex's child, but I never had the chance because she cheated on me.  My new girlfriend might like this. The episode is called Mission Start? As if a mission didn't start yet. Is this when the show begins? Nick, it starts this week. Starts every week according to y'all. I already saw what the future devil looks like. This is the tree. The tree that does the dance in the opening. Oh, I can't wait. He's dead inside. He doesn't want a future. Does Aki look like somebody that wants a future? Everybody in his life lacks a future. Mirai Saikou. Mirai Saikou! And the name of Dick was that. And why did I love it so much? I feel like I'm gonna love this guy. Mirai Saikou. Mirai Saikou. This is what Aki needs. He needs this. You're telling me this is gonna fuse with Aki? You think Aki's gonna dance and say the future rules? Mirai Saikou? Yes, I love him already. You ever heard of First Base? God damn.  Damn, okay. This is the type of thing I need in my life. Stick your head into my gut already. Find a girl that says this.   He's making a deal with his Predator.  Yeah, baby! Damn! Oh, I got a cosplay as him. This is my kind of devil, man.  No, I'm sorry. I'm interested. Come on, spoilers. Show me Chapter 12 right now. Get in my eye.  Aki already put his head into the thing's gut. And that thing already is going in Aki's eye. Wow. This is the type of relationship I need.   This guy's still drunk. He's drunk the whole season. Oh, I like this relationship. Beat your little apprentices.  Denji. He does have one mark on his body. I identify as a Denji. Denji? Denjo. Those are my pronouns. I don't care. I identify as a Denji.  Come on. Come on, map! Come on. He's right. Look at this. You like them? No, we're even kidding. I figured I wouldn't mind what happened to a pair of toys. But... No! He has a heart! Oh, I love him. Stop, stop, stop smiling. You were shot in the head. She looks more evil by the episodes. I want to see them fight. Oh my God. We need this fight. We need to see that. I feel like I'm on a spaceship right now. And I'm looking out the window and seeing everything I need to see in life. Wow, the OST is so alive and different and absolutely mind-blowing. Wusowski. She fucking... She smiled! She smiled! Look, look, look, look!  Not this OST. Oh God, this is the trouble OST. What's, what's going on now? Who are we killing now? Oh, no, no! No, not them! No way were Japan is safe as long as Makima's alive. Oh my God, that's why I'm going there. Jesus Christ. Damn, Japan! Is this, wow! Granddad. Granddad? We really started the mission now, are we? Oh my God, but it ends next week! What's going on? What in the walking dead is going on here? Here we go again. Oh, he's after the gun devil, look, look, look, look. He's like gun devil. It's because his one eye that the future devils in his eye right now, they're looking. Is he cross-eyed now? He's different. He looks more emotional-less than usual. Is the gun devil the final boss? No.  What the f- What's wrong with- everyone's so blunt! Jesus Christ! What's with this episode? He is a manga character, what? For me, in real, just looking at you kind of pisses me off.  Aki, please, you could kill them. I give you permission, it's alright. It's alright. Please don't say anything in front of me. That is a man. It's a man right there. He sounds more dead than usual. Oh my god, I thought the devil would bring some personality into him. Some happiness. Oh no, what are you going to say now? Aww, okay. It's one of those friendships. Be careful, there is no one you can trust. That's fine. Look at Mappa. Mappa, listen man, there's this thing. I don't know if you've heard of it, but it's called sleep. And this is sleepless behavior animation, right here. I love it. Did you just hear what I said? I just said, to sleep. It's alright.   She's a main character villain. You don't got to tell her red eyes blonde hair She looks different. She's she's she's important Why does the devil need money The only devils I see are in his room I knew he's gonna say that it's how I know I've got the anime touch now I was just waiting for him to be like eh It's the way to the camera was frozen on his face while she was talking see I'm noticing these things guys I'm not getting better with this. Oh No, that's he's boy. No, I see he's playing. Oh god. You call it miss.  No, you're fine What are you doing what what are you doing? You better stop calling the miss. She's mister mister Machima you better stop looking down on her like this, bro This is giving me the wrong idea Lex Luthor over here on the right I've never wanted to shoot somebody in the face and more than this guy He just has that look like you ever know those people whether it's in school or your friends or a friend group or an acquaintance a Co-worker you look at them every day and you're like I'm getting closer and closer You just it's just they have that that face that that killable punchable.     No No, you're not. He's the main character Swords man, that's what you call them Everybody important is here right now This is the craziest group of people I've ever witnessed in my life, and I thought I was crazy Wow Wow next week is gonna be insane We're gonna start this now Yeah, I have to survive for next week you better not do anything to me now John Sheena, this is gonna be insane Please give me a live a week. Oh my god, you know how much it's happening in his building right That's shark man In my watch in one punch man, I swear to God map I know y'all are gonna be doing one punch man season three, but but I think you started too soon It's burnt it's bird man. It's bird man and shark boy. Where's lava girl This lady my god another another chainsaw man girl Is she about it?  I'm yeah, I swear to God I'm watching one punch man season three right now wait now She's from the trailer Finally you decided to show up I am not ready for this. I'm not ready guys.  That's what you get when you're an angel They're counting down to my heart attack elevators and anime. They only lead to insanity. That's what I've learned Don't waste your sword Don't waste Machi Machima.   It's like they're waiting for you to come for the main character to come that it's an NPC waiting.    Oh, we could predict the move That's interesting. I like this Here goes that map action. I Don't know what this anime anymore, man. I don't know what's gonna happen anymore Come on If you leave me on a cliffhanger next week, I'm going to Japan sooner than I booked That's all I'm saying you better not do that to me again You've done that plenty of times chainsaw, man But I have next week to look forward to and sometimes seven days is too much to ask for But if you leave me on a cliffhanger in that next episode, I swear to captain Erwin and Hemenno Seriously, you better not do that to me. That was a nice episode.  She's there's all how to all set up.  I can't even imagine what's gonna happen God oh god, I just want next week to come. We got the eve ending eve It's doing the ending for the next episode and it's the last episode of this season or the core cow or whatever. It's called I'm ready. I'm ready, but I don't want it to come because that means it's the end and next week's gonna be a very emotional video because Without chainsaw man, Tuesday. I might as well not even live on Tuesday because there's no reason to that's it. Bye