|
|
|
@ -6,14 +6,14 @@
|
|
|
|
|
"_id": "bd7129d8c441eddfaeb5bddf",
|
|
|
|
|
"name": "Waypoint: Scope Your Variables",
|
|
|
|
|
"difficulty": 0.01,
|
|
|
|
|
"challengeSeed": "114604814",
|
|
|
|
|
"challengeSeed": "128836683",
|
|
|
|
|
"description": [
|
|
|
|
|
"Objects will allow you to build applications more efficiently by using small, reusable blocks of code.",
|
|
|
|
|
"This course on Udacity will help you learn Object-Oriented Programming in JavaScript.",
|
|
|
|
|
"First, we'll learn how JavaScript works in terms of scopes. You'll learn the difference between a \"Lexical Scope\" and an Execution Context.",
|
|
|
|
|
"This theoretical foundation is useful for understanding when an a variable can be accessed and when it can't.",
|
|
|
|
|
"First, we'll learn how JavaScript works in terms of scopes. You'll learn the difference between a \"Lexical Scope\" and an \"Execution Context\".",
|
|
|
|
|
"This theoretical foundation is useful for understanding when a variable can be accessed and when it can't.",
|
|
|
|
|
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051</a> and start the course.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051</a> and start the course.",
|
|
|
|
|
"Once you've completed this first section of scopes, mark this Waypoint complete and move on to the next one."
|
|
|
|
|
],
|
|
|
|
|
"challengeType": 2
|
|
|
|
@ -22,13 +22,13 @@
|
|
|
|
|
"_id": "bd7131d8c441eddfaeb5bdbf",
|
|
|
|
|
"name": "Waypoint: Reference your Current Object with This",
|
|
|
|
|
"difficulty": 0.03,
|
|
|
|
|
"challengeSeed": "114614220",
|
|
|
|
|
"challengeSeed": "128836508",
|
|
|
|
|
"description": [
|
|
|
|
|
"In this section, you'll learn how you can use <code>this</code> to dynamically point to your current object.",
|
|
|
|
|
"For example, if we were inside the function <code>camper.completeCourse()</code>, <code>this</code> would refer to the specific camper we were running the function on.",
|
|
|
|
|
"Note that this section has several trick questions, designed to make you think. Don't get hung up on them, just keep moving forward.",
|
|
|
|
|
"In this section, you'll learn how you can use the keyword <code>this</code> to dynamically point to your current object.",
|
|
|
|
|
"For example, if we were inside the function <code>camper.completeCourse()</code>, <code>this</code> would refer to the specific camper upon which we were running the function.",
|
|
|
|
|
"Note that this section poses several trick questions that were designed to make you think. Don't get hung up on them, just keep moving forward.",
|
|
|
|
|
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668699/m-2780408563'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668699/m-2780408563</a> and start the course.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668699/m-2780408563' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668699/m-2780408563</a> and start the course.",
|
|
|
|
|
"Once you've completed this section of using the keyword <code>this</code>, mark this Waypoint complete and move on to the next one."
|
|
|
|
|
],
|
|
|
|
|
"challengeType": 2,
|
|
|
|
@ -38,12 +38,12 @@
|
|
|
|
|
"_id": "bd7132d8c441eddfaeb5bdaf",
|
|
|
|
|
"name": "Waypoint: Traverse the Prototype Chain",
|
|
|
|
|
"difficulty": 0.04,
|
|
|
|
|
"challengeSeed": "114612889",
|
|
|
|
|
"challengeSeed": "128836684",
|
|
|
|
|
"description": [
|
|
|
|
|
"Next we'll learn about the multiple ways you can create a copy of an object.",
|
|
|
|
|
"We'll also learn how an object's missing attributes can traverse the \"prototype chain\".",
|
|
|
|
|
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668700/m-2616738615'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668700/m-2616738615</a> and start the course.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668700/m-2616738615' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668700/m-2616738615</a> and start the course.",
|
|
|
|
|
"Once you've completed this section on prototype chain traversal, mark this Waypoint complete and move on to the next one."
|
|
|
|
|
],
|
|
|
|
|
"challengeType": 2,
|
|
|
|
@ -53,13 +53,13 @@
|
|
|
|
|
"_id": "bd7133d8c441eddfaeb5bd0f",
|
|
|
|
|
"name": "Waypoint: Reuse Code with Decorators",
|
|
|
|
|
"difficulty": 0.05,
|
|
|
|
|
"challengeSeed": "114612888",
|
|
|
|
|
"challengeSeed": "128836681",
|
|
|
|
|
"description": [
|
|
|
|
|
"In this section, we'll learn about the Decorator Pattern.",
|
|
|
|
|
"The Decorator pattern will help you \"decorate\" an existing object with additional attributes. This pattern helps you reuse code, reducing the total amount of code you'll need to write and maintain.",
|
|
|
|
|
"In this section, we'll learn about the \"Decorator Pattern\".",
|
|
|
|
|
"The Decorator Pattern will help you \"decorate\" an existing object with additional attributes. This pattern helps you reuse code, reducing the total amount of code you'll need to write and maintain.",
|
|
|
|
|
"It's a convenient way to add functionality to objects without changing their underlying structure.",
|
|
|
|
|
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468536/m-2697628561'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468536/m-2697628561</a> and start the course.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468536/m-2697628561' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468536/m-2697628561</a> and start the course.",
|
|
|
|
|
"Once you've completed this section of decorators, mark this Waypoint complete and move on to the next one."
|
|
|
|
|
],
|
|
|
|
|
"challengeType": 2,
|
|
|
|
@ -69,13 +69,13 @@
|
|
|
|
|
"_id": "bd7134d8c441eddfaeb5bd1f",
|
|
|
|
|
"name": "Waypoint: Build Objects with Functional Classes",
|
|
|
|
|
"difficulty": 0.06,
|
|
|
|
|
"challengeSeed": "114612887",
|
|
|
|
|
"challengeSeed": "128836503",
|
|
|
|
|
"description": [
|
|
|
|
|
"Now we'll go over the simplest way to implement a JavaScript class.",
|
|
|
|
|
"A class is a set of functions that you can use to easily produce similar objects.",
|
|
|
|
|
"You may have heard JavaScript doesn't have classes. This is <em>technically</em> true, but don't let it get in the way of the very important ideas in this section.",
|
|
|
|
|
"You may have heard JavaScript doesn't have classes. While this is technically true, don't let this fact prevent you from learning the important concepts in this section.",
|
|
|
|
|
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468537/m-2961989110'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468537/m-2961989110</a> and start the course.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468537/m-2961989110' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468537/m-2961989110</a> and start the course.",
|
|
|
|
|
"Once you've completed this section of functional classes, mark this Waypoint complete and move on to the next one."
|
|
|
|
|
],
|
|
|
|
|
"challengeType": 2,
|
|
|
|
@ -85,13 +85,13 @@
|
|
|
|
|
"_id": "bd7135d8c441eddfaeb5bd2f",
|
|
|
|
|
"name": "Waypoint: Build Objects with Prototypal Classes",
|
|
|
|
|
"difficulty": 0.07,
|
|
|
|
|
"challengeSeed": "114612885",
|
|
|
|
|
"challengeSeed": "128836505",
|
|
|
|
|
"description": [
|
|
|
|
|
"Now we'll learn how one object can be prototyped off of another object.",
|
|
|
|
|
"Objects delegate their \"failed lookups\" up the \"prototype chain\".",
|
|
|
|
|
"This means that if I create a second object based off another object, then try to access an attribute the second object doesn't have, JavaScript will \"fall through\" to the original object to see whether it has that attribute.",
|
|
|
|
|
"Objects will delegate their \"failed lookups\" on up through the \"prototype chain\".",
|
|
|
|
|
"This means that when you create a second object based off another object, then try to access an attribute that the second object doesn't have, JavaScript will \"fall through\" to the original object to see whether it has that attribute.",
|
|
|
|
|
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468538/m-3034538557'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468538/m-3034538557</a> and start the course.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468538/m-3034538557' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468538/m-3034538557</a> and start the course.",
|
|
|
|
|
"Once you've completed this section of prototypal classes, mark this Waypoint complete and move on to the next one."
|
|
|
|
|
],
|
|
|
|
|
"challengeType": 2,
|
|
|
|
@ -101,13 +101,13 @@
|
|
|
|
|
"_id": "bd7136d8c441eddfaeb5bd3f",
|
|
|
|
|
"name": "Waypoint: Understand Pseudoclassical Patterns",
|
|
|
|
|
"difficulty": 0.08,
|
|
|
|
|
"challengeSeed": "114612882",
|
|
|
|
|
"challengeSeed": "128836689",
|
|
|
|
|
"description": [
|
|
|
|
|
"JavaScript doesn't have the traditional \"classes\" that lower-level languages like C and Java have.",
|
|
|
|
|
"JavaScript doesn't have the traditional \"classes\" that lower-level languages like C++ and Java have.",
|
|
|
|
|
"Instead, JavaScript does some tricks to allow you to write code as though it had these traditional classes. We call these \"pseudo-classes\".",
|
|
|
|
|
"In this section, we'll learn how to build these pseudo-classes, and some tricks for later figuring out where these objects came from.",
|
|
|
|
|
"In this section, we'll learn how to build these pseudo-classes. We'll also learn some tricks for figuring out where these objects originally came from.",
|
|
|
|
|
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468539/e-2783098540/m-2695768694'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468539/e-2783098540/m-2695768694</a> and start the course.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468539/e-2783098540/m-2695768694' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468539/e-2783098540/m-2695768694</a> and start the course.",
|
|
|
|
|
"Once you've completed this section pseudoclasses, mark this Waypoint complete and move on to the next one."
|
|
|
|
|
],
|
|
|
|
|
"challengeType": 2,
|
|
|
|
@ -117,12 +117,12 @@
|
|
|
|
|
"_id": "bd7136d8c441eddfaeb5bd4f",
|
|
|
|
|
"name": "Waypoint: Subclass one Object to Another",
|
|
|
|
|
"difficulty": 0.09,
|
|
|
|
|
"challengeSeed": "114612882",
|
|
|
|
|
"challengeSeed": "128836686",
|
|
|
|
|
"description": [
|
|
|
|
|
"Now we know the three ways of creating objects (through functions, prototyping and pseudo classing).",
|
|
|
|
|
"Let's learn how to subclass one object to another. This will give our new object the attributes of the original object. It will allow us to make further modifications new object without affecting the original object.",
|
|
|
|
|
"Now we know the three ways that we can create objects. Through: <ol><li>functions</li><li>prototyping</li><li>pseudo classing</li></ol>",
|
|
|
|
|
"Let's learn how to \"subclass\" one object to another. This will give our new object the attributes of the original object. It will allow us to make further modifications to the new object without affecting the original object.",
|
|
|
|
|
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468540/m-2785128536'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468540/m-2785128536</a> and start the course.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468540/m-2785128536' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468540/m-2785128536</a> and start the course.",
|
|
|
|
|
"Once you've completed this section on subclassing, mark this Waypoint complete and move on to the next one."
|
|
|
|
|
],
|
|
|
|
|
"challengeType": 2,
|
|
|
|
@ -132,11 +132,11 @@
|
|
|
|
|
"_id": "bd7136d8c441eddfaeb5bd5f",
|
|
|
|
|
"name": "Waypoint: Use Pseudoclassical Subclasses",
|
|
|
|
|
"difficulty": 0.10,
|
|
|
|
|
"challengeSeed": "114612882",
|
|
|
|
|
"challengeSeed": "128836937",
|
|
|
|
|
"description": [
|
|
|
|
|
"This final section will teach us how to create subclasses from pseudo classes.",
|
|
|
|
|
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468541/e-2693158566/m-2688408703'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468541/e-2693158566/m-2688408703</a> and start the course.",
|
|
|
|
|
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468541/e-2693158566/m-2688408703' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468541/e-2693158566/m-2688408703</a> and start the course.",
|
|
|
|
|
"Once you've completed this final section on pseudoclassical subclassing, mark this Waypoint complete and move on."
|
|
|
|
|
],
|
|
|
|
|
"challengeType": 2,
|
|
|
|
|