{"action":"created","comment":{"url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/comments/235130193","pull_request_review_id":176926132,"id":235130193,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNTEzMDE5Mw==","diff_hunk":"@@ -1,16 +1,341 @@\n-# Title\n+# Object Orientation in JavaScript\n+\n+“Every application is a collection of code; the code’s arrangement is the\n+design.\" - Sandy Metz\n \n ## Learning Goals\n \n--SWBAT 1\n--SWBAT 2\n+- Review the meaning of Object Orientation\n+- Review the benefits of Object Orientation\n+- Introduce how JavaScript can be written using Object Orientation\n \n ## Introduction\n \n-## SWBAT 1\n+So far in JavaScript, we've discussed the \"Three Pillars of Web Programming\",\n+**Recognizing JS events**, **Manipulating the DOM**, and **Communicate with the\n+server**, and we saw how these pillars are incorporated into web applications.\n+\n+The process we've learned has been straightforward:\n+\n+1.  An HTML page renders on the screen\n+2.  JavaScript is executed when the page loads\n+3.  In the JavaScript, event listeners are created pointing to 'free-standing'\n+    functions, listed out in the JavaScript file.\n+\n+- Some of these functions handle DOM manipulation\n+- Some functions handle server communication\n+- Still other functions may serve as 'helper' functions to others\n+\n+This set up works great when just getting off the ground; with a handful of\n+functions, we can get an interactive website up and running. What happens,\n+though, when we want to go beyond a small website?\n+\n+Let's say we want to add feature, so we write a few more functions. Another\n+function to handle a new event. That function needs to call a separate function\n+for some DOM manipulation, then maybe a third function for updating our server.\n+Meanwhile, it turns out, we can write a helper function that not only helps the\n+code we just wrote, but cleans up some previous code we've written.\n+\n+Then we decide to add another, and more functions are needed. As we use our\n+website, we think of more and more things to add or adjust. Pretty soon, the\n+code has grown quite long. What's worse, all of the different things that happen\n+on our website are starting to get jumbled together in a heap of functions. You\n+may be able to get everything working for every feature we add, but coding this\n+way comes at a cost:\n+\n+**The more complicated our code gets, the harder it is to understand and\n+change it.**\n+\n+In larger applications, we might be dealing with hundreds of functions, DOM\n+elements, and events, all dependent on each other, forming a web of\n+relationships. It becomes increasingly difficult to follow the flow of actions\n+in your code as more and more functions are introduced. Changes to one function\n+may have unforeseen affects on functions _'downstream'_.\n+\n+This web of dependent, free-standing functions can be improved with\n+organization. We do things like group functions together, arrange code in a\n+readable way. Our options, however, are still limited - its still a big web.\n+\n+In this and the following lessons, we're going to take a look at an alternative\n+way to structure our code, Object Orientation. By understanding and using OO, we\n+can _design_ our code to be easier to read, understand and change.\n+\n+## Define Object Orientation\n+\n+With Object Orientation, instead of a web, we can think of our code as a\n+collection of _cells_. These cells are separated from each other, can contain\n+information, data like variables, as well as behaviors, functions directly\n+related to that data.\n+\n+Consider the lessons on so far: any sort of data we had to store and manipulate\n+has been either stored in variables or passed to functions as arguments. Code\n+like this:\n+\n+```js\n+let name = 'Evan';\n+let age = 34;\n+\n+function sayHello(nameOfPerson) {\n+\tconsole.log(`Hello, my name is ${nameOfPerson}.`);\n+}\n+\n+function sayAge(age) {\n+\tconsole.log(`I am ${age} years old.`);\n+}\n+\n+function haveBirthday(age) {\n+\tconsole.log(`It's my birthday!`);\n+\treturn age + 1;\n+}\n+\n+sayHello(name);\n+// => Hello, my name is Evan.\n+sayAge(age);\n+// => I am 34 years old.\n+age = haveBirthday(age);\n+// => It's my birthday.\n+sayAge(age);\n+// => I am 35 years old.\n+```\n+\n+Here, we've got some data, a `String` and an `Integer` assigned to variables,\n+and a few functions for using and reading that data. The functions and data are\n+closely related. Combined, they convey information about a _person_. While we,\n+as human beings, might be able to interpret the above code as all related, as\n+far as code structure, **there isn't anything structurally that actually\n+_encodes_ those relationships**. The _names_ of our functions\n+and variables are the only indicators that they are related.\n+\n+Object Orientation grants us the ability to write code that **structurally**\n+establishes the relationships between data and functions. If we rewrite our\n+first code snippet applying Object Orientation, we could write something like\n+this:\n+\n+```js\n+class Person {\n+\tconstructor(name, age) {\n+\t\tthis.name = name;\n+\t\tthis.age = age;\n+\t}\n+\n+\tsayHello() {\n+\t\tconsole.log(`Hello, my name is ${this.name}.`);\n+\t}\n+\n+\tsayAge() {\n+\t\tconsole.log(`I am ${this.age} years old.`);\n+\t}\n+\n+\thaveBirthday(age) {\n+\t\tconsole.log(`It's my birthday!`);\n+\t\tthis.age += 1;\n+\t}\n+}\n+\n+let evan = new Person('Evan', 34);\n+\n+evan.sayHello();\n+// => Hello, my name is Evan.\n+evan.sayAge();\n+// => I am 34 years old.\n+evan.haveBirthday();\n+// => It's my birthday.\n+evan.sayAge();\n+// => I am 35 years old.\n+evan;\n+// => Person { name: 'Evan', age: 36 }\n+```\n+\n+> You can try out the code above. Type `node` in your terminal, then\n+> copy and paste the above code into the Node environment to play around\n+\n+Do not be alarmed if some of this looks unfamiliar. We will go into greater\n+detail later about specific syntax.For now, though, take a moment to notice\n+what changed. Where did our variables go? Now we just have one: `evan`.\n+Instead of being assigned to a data type like a `String` or an `Integer`,\n+`evan` assigned to a `Person` object that _contains_ our data.\n+\n+This `Person` object is a `class`, the fundamental structure underlying all\n+Object Oriented code in JavaScript. The line:\n+\n+```js\n+let evan = new Person('Evan', 34);\n+```\n+\n+...initializes a copy, a single **_instance_** of the `Person` `class` (more on\n+this later). Two arguments are passed in, `'Evan'` and `34`, and the resulting\n+instance is assigned to a variable.\n+\n+The instance we just created contains the functions that were previously\n+free-standing, `sayHello`, `sayAge`, and `haveBirthday`.\n+\n+Notice here that we're no longer passing data as arguments to these functions\n+when we call them. Our data, `'Evan'` and `34`, is now stored _in_ the `Person`\n+instance. These functions now have access to the data as `this.name` and\n+`this.age`!\n \n-## SWBAT 2\n+> In Object Oriented JavaScript, functions that are contained within a `class` >\n+> object are referred to as 'methods' of that object. These lessons will follow >\n+> this convention, so going forward, _method_ and _function_ will differ slightly\n+> in meaning.\n+\n+With our data and _methods_ captured in the `Person` instance, we've\n+**_encapsulated_** all the information and behaviors that represent a _person_ in\n+our code!\n+\n+## The Benefits of Object Orientation\n+\n+The end result of our code hasn't change - we are still able to perform the same\n+actions. However, the way we have _designed_ our code brings many benefits:\n+\n+### Easier to Change\n+\n+If we want to add more code related to a _person_, instead of just adding it in\n+to a long list of functions, we now have a clear, logical place\n+to put it. This makes it easier to extend code, and encourages good organization\n+in the future.\n+\n+### Offers Better Data Control\n+\n+Compartmentalizing code also has a secondary effect - by encapsulating our data\n+in a `class`, we can protect that data from unexpected changes. When using local\n+variables like `let name = \"Evan\"`, the variable is vulnerable to change from\n+any function, and functions will do what they are programmed to do, regardless\n+of the data they are given. They are oblivious.\n+\n+```js\n+function sayHello(nameOfPerson) {\n+\tconsole.log(`Hello, my name is ${nameOfPerson}.`);\n+}\n+\n+sayHello([23, 'Golden Apple']);\n+// => Hello, my name is 23,Golden Apple.\n+```\n+\n+In a `class`, however, we can design our code so that methods with a specific\n+purpose only interact with and change the data they are supposed to. We don't\n+need a stand alone `sayHello` function that takes in any argument and tries to\n+log it, we just need it for saying a particular person's name.\n+\n+```js\n+let sarah = new Person('Sarah', 31);\n+sarah.sayHello();\n+// => Hello, my name is Sarah.\n+```\n+\n+Equally, using a `class` to encapsulate our data allows us to be specific in how\n+that data is used. The `sarah` variable in the code snippet above points to an\n+entire _instance_ of the `Person` class. Wherever `sarah` goes, `sarah` will\n+always carry its instance methods with it. If we need to access data stored on\n+the instance, we can send the `sarah` variable wherever it is needed and use the\n+built in methods we've defined to access the information.\n+\n+### Easy to Replicate\n+\n+Every time we initialize a new instance of the `Person` class, we create a\n+unique object:\n+\n+```js\n+let sarah = new Person('Sarah', 31);\n+let evan = new Person('Evan', 34);\n+```\n+\n+Since each instance of `Person` has unique data, our instance methods will\n+behave accordingly and only use _their_ data:\n+\n+```js\n+evan.sayHello();\n+// => Hello, my name is Evan.\n+sarah.sayHello();\n+// => Hello, my name is Sarah.\n+```\n+\n+This turns out to be a fantastic help when dealing with many collections of\n+similar data. For example, individual records from a server side database can be\n+represented as instances of a `class`.\n+\n+In an interactive application like an online chatroom where multiple people are\n+present, you could design a `User` `class` that keeps track of individual\n+chatroom users. We can go further, though, and design `class`es for other parts\n+of the application. A `User` instance might have many messages in a chatroom, so\n+we could create a `Message` `class`. If the application has multiple chatrooms,\n+we could create a `Room` `class` to represent every chatroom and any specific\n+data about each.\n+\n+Once we establish the data and methods for a `class`, we can create as many\n+copies as we need.\n+\n+### Improves Understanding by Adding Meaning\n+\n+By encapsulating related information and behavior, we have organized our code in\n+a more meaningful way. It _makes sense_ to us as humans to group related things\n+like this. Object Orientation works well for representing real world systems\n+and relationships, which makes it easier to comprehend complex code.\n+\n+```js\n+let restaurant = new Restaurant('La Villa', '261 5th Ave, Brooklyn, NY');\n+restaurant.addGuest(evan);\n+restaurant.serveGuest(evan, new Drink('Water'));\n+restaurant.addGuest(sally);\n+restaurant.serveGuest(sally, new Drink('Water'));\n+evan.sayHello();\n+// => Hello, my name is Evan.\n+sarah.sayHello();\n+// => Hello, my name is Sarah.\n+evan.saySmallTalk();\n+// => How about this weather?\n+```\n+\n+All `class`es in are structured in a consistent way, so even though we don't\n+know the details of the `Restaurant` `class`, we can still infer how the\n+`Restaurant`, `Person` and `Drink` `class`es might interact.\n+\n+When it comes to building functionality into a website, we do tend to deal with\n+the abstract, things that are harder to represent conceptually. Object\n+Orientation helps here too, though it takes practice to think in the OO mindset.\n+For example, we can organize related actions, such as server requests, into a\n+single `class`.\n+\n+One common practice in OO Javascript is to use `class`es to represent different\n+DOM elements. Consider what it we do currently to programmatically add a `div`\n+to the page:\n+\n+```js\n+let element = document.createElement('div');\n+element.className = 'myClassName';\n+element.innerHTML = 'This is the text content of the div';\n+document.querySelector('body').appendChild(element);\n+```\n+\n+Rewritten as a class could be something like:","path":"README.md","position":315,"original_position":315,"commit_id":"39cb18e84042ed4c41114553609a0e6d4cda2bc1","original_commit_id":"39cb18e84042ed4c41114553609a0e6d4cda2bc1","user":{"login":"maxwellbenton","id":25696864,"node_id":"MDQ6VXNlcjI1Njk2ODY0","avatar_url":"https://avatars0.githubusercontent.com/u/25696864?v=4","gravatar_id":"","url":"https://api.github.com/users/maxwellbenton","html_url":"https://github.com/maxwellbenton","followers_url":"https://api.github.com/users/maxwellbenton/followers","following_url":"https://api.github.com/users/maxwellbenton/following{/other_user}","gists_url":"https://api.github.com/users/maxwellbenton/gists{/gist_id}","starred_url":"https://api.github.com/users/maxwellbenton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maxwellbenton/subscriptions","organizations_url":"https://api.github.com/users/maxwellbenton/orgs","repos_url":"https://api.github.com/users/maxwellbenton/repos","events_url":"https://api.github.com/users/maxwellbenton/events{/privacy}","received_events_url":"https://api.github.com/users/maxwellbenton/received_events","type":"User","site_admin":false},"body":"took this last chunk out to make the lesson a little simpler","created_at":"2018-11-20T19:01:28Z","updated_at":"2018-11-20T19:01:28Z","html_url":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pull/1#discussion_r235130193","pull_request_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/1","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/comments/235130193"},"html":{"href":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pull/1#discussion_r235130193"},"pull_request":{"href":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/1"}},"in_reply_to_id":234719808},"pull_request":{"url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/1","id":232009856,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMyMDA5ODU2","html_url":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pull/1","diff_url":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pull/1.diff","patch_url":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pull/1.patch","issue_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/issues/1","number":1,"state":"open","locked":false,"title":"updated readme","user":{"login":"maxwellbenton","id":25696864,"node_id":"MDQ6VXNlcjI1Njk2ODY0","avatar_url":"https://avatars0.githubusercontent.com/u/25696864?v=4","gravatar_id":"","url":"https://api.github.com/users/maxwellbenton","html_url":"https://github.com/maxwellbenton","followers_url":"https://api.github.com/users/maxwellbenton/followers","following_url":"https://api.github.com/users/maxwellbenton/following{/other_user}","gists_url":"https://api.github.com/users/maxwellbenton/gists{/gist_id}","starred_url":"https://api.github.com/users/maxwellbenton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maxwellbenton/subscriptions","organizations_url":"https://api.github.com/users/maxwellbenton/orgs","repos_url":"https://api.github.com/users/maxwellbenton/repos","events_url":"https://api.github.com/users/maxwellbenton/events{/privacy}","received_events_url":"https://api.github.com/users/maxwellbenton/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-11-19T15:18:33Z","updated_at":"2018-11-20T19:01:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"08c6f3eee26fceb4c6d25ebbdf7e654a48708cad","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/1/commits","review_comments_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/1/comments","review_comment_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/comments{/number}","comments_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/issues/1/comments","statuses_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/statuses/39cb18e84042ed4c41114553609a0e6d4cda2bc1","head":{"label":"learn-co-curriculum:wip-rough-draft","ref":"wip-rough-draft","sha":"39cb18e84042ed4c41114553609a0e6d4cda2bc1","user":{"login":"learn-co-curriculum","id":6208017,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYyMDgwMTc=","avatar_url":"https://avatars1.githubusercontent.com/u/6208017?v=4","gravatar_id":"","url":"https://api.github.com/users/learn-co-curriculum","html_url":"https://github.com/learn-co-curriculum","followers_url":"https://api.github.com/users/learn-co-curriculum/followers","following_url":"https://api.github.com/users/learn-co-curriculum/following{/other_user}","gists_url":"https://api.github.com/users/learn-co-curriculum/gists{/gist_id}","starred_url":"https://api.github.com/users/learn-co-curriculum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/learn-co-curriculum/subscriptions","organizations_url":"https://api.github.com/users/learn-co-curriculum/orgs","repos_url":"https://api.github.com/users/learn-co-curriculum/repos","events_url":"https://api.github.com/users/learn-co-curriculum/events{/privacy}","received_events_url":"https://api.github.com/users/learn-co-curriculum/received_events","type":"Organization","site_admin":false},"repo":{"id":157557981,"node_id":"MDEwOlJlcG9zaXRvcnkxNTc1NTc5ODE=","name":"fewpjs-object-orientation-in-javascript","full_name":"learn-co-curriculum/fewpjs-object-orientation-in-javascript","private":false,"owner":{"login":"learn-co-curriculum","id":6208017,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYyMDgwMTc=","avatar_url":"https://avatars1.githubusercontent.com/u/6208017?v=4","gravatar_id":"","url":"https://api.github.com/users/learn-co-curriculum","html_url":"https://github.com/learn-co-curriculum","followers_url":"https://api.github.com/users/learn-co-curriculum/followers","following_url":"https://api.github.com/users/learn-co-curriculum/following{/other_user}","gists_url":"https://api.github.com/users/learn-co-curriculum/gists{/gist_id}","starred_url":"https://api.github.com/users/learn-co-curriculum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/learn-co-curriculum/subscriptions","organizations_url":"https://api.github.com/users/learn-co-curriculum/orgs","repos_url":"https://api.github.com/users/learn-co-curriculum/repos","events_url":"https://api.github.com/users/learn-co-curriculum/events{/privacy}","received_events_url":"https://api.github.com/users/learn-co-curriculum/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript","description":null,"fork":false,"url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript","forks_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/forks","keys_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/keys{/key_id}","collaborators_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/teams","hooks_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/hooks","issue_events_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/issues/events{/number}","events_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/events","assignees_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/assignees{/user}","branches_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/branches{/branch}","tags_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/tags","blobs_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/git/refs{/sha}","trees_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/git/trees{/sha}","statuses_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/statuses/{sha}","languages_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/languages","stargazers_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/stargazers","contributors_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/contributors","subscribers_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/subscribers","subscription_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/subscription","commits_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/commits{/sha}","git_commits_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/git/commits{/sha}","comments_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/comments{/number}","issue_comment_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/issues/comments{/number}","contents_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/contents/{+path}","compare_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/compare/{base}...{head}","merges_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/merges","archive_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/downloads","issues_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/issues{/number}","pulls_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls{/number}","milestones_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/milestones{/number}","notifications_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/labels{/name}","releases_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/releases{/id}","deployments_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/deployments","created_at":"2018-11-14T14:07:18Z","updated_at":"2018-11-14T14:07:25Z","pushed_at":"2018-11-19T15:18:33Z","git_url":"git://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript.git","ssh_url":"git@github.com:learn-co-curriculum/fewpjs-object-orientation-in-javascript.git","clone_url":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript.git","svn_url":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript","homepage":"","size":6,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"learn-co-curriculum:master","ref":"master","sha":"f975bc1cbb67c4edc74eb18edcdced284d17a7f5","user":{"login":"learn-co-curriculum","id":6208017,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYyMDgwMTc=","avatar_url":"https://avatars1.githubusercontent.com/u/6208017?v=4","gravatar_id":"","url":"https://api.github.com/users/learn-co-curriculum","html_url":"https://github.com/learn-co-curriculum","followers_url":"https://api.github.com/users/learn-co-curriculum/followers","following_url":"https://api.github.com/users/learn-co-curriculum/following{/other_user}","gists_url":"https://api.github.com/users/learn-co-curriculum/gists{/gist_id}","starred_url":"https://api.github.com/users/learn-co-curriculum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/learn-co-curriculum/subscriptions","organizations_url":"https://api.github.com/users/learn-co-curriculum/orgs","repos_url":"https://api.github.com/users/learn-co-curriculum/repos","events_url":"https://api.github.com/users/learn-co-curriculum/events{/privacy}","received_events_url":"https://api.github.com/users/learn-co-curriculum/received_events","type":"Organization","site_admin":false},"repo":{"id":157557981,"node_id":"MDEwOlJlcG9zaXRvcnkxNTc1NTc5ODE=","name":"fewpjs-object-orientation-in-javascript","full_name":"learn-co-curriculum/fewpjs-object-orientation-in-javascript","private":false,"owner":{"login":"learn-co-curriculum","id":6208017,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYyMDgwMTc=","avatar_url":"https://avatars1.githubusercontent.com/u/6208017?v=4","gravatar_id":"","url":"https://api.github.com/users/learn-co-curriculum","html_url":"https://github.com/learn-co-curriculum","followers_url":"https://api.github.com/users/learn-co-curriculum/followers","following_url":"https://api.github.com/users/learn-co-curriculum/following{/other_user}","gists_url":"https://api.github.com/users/learn-co-curriculum/gists{/gist_id}","starred_url":"https://api.github.com/users/learn-co-curriculum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/learn-co-curriculum/subscriptions","organizations_url":"https://api.github.com/users/learn-co-curriculum/orgs","repos_url":"https://api.github.com/users/learn-co-curriculum/repos","events_url":"https://api.github.com/users/learn-co-curriculum/events{/privacy}","received_events_url":"https://api.github.com/users/learn-co-curriculum/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript","description":null,"fork":false,"url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript","forks_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/forks","keys_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/keys{/key_id}","collaborators_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/teams","hooks_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/hooks","issue_events_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/issues/events{/number}","events_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/events","assignees_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/assignees{/user}","branches_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/branches{/branch}","tags_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/tags","blobs_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/git/refs{/sha}","trees_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/git/trees{/sha}","statuses_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/statuses/{sha}","languages_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/languages","stargazers_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/stargazers","contributors_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/contributors","subscribers_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/subscribers","subscription_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/subscription","commits_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/commits{/sha}","git_commits_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/git/commits{/sha}","comments_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/comments{/number}","issue_comment_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/issues/comments{/number}","contents_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/contents/{+path}","compare_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/compare/{base}...{head}","merges_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/merges","archive_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/downloads","issues_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/issues{/number}","pulls_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls{/number}","milestones_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/milestones{/number}","notifications_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/labels{/name}","releases_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/releases{/id}","deployments_url":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/deployments","created_at":"2018-11-14T14:07:18Z","updated_at":"2018-11-14T14:07:25Z","pushed_at":"2018-11-19T15:18:33Z","git_url":"git://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript.git","ssh_url":"git@github.com:learn-co-curriculum/fewpjs-object-orientation-in-javascript.git","clone_url":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript.git","svn_url":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript","homepage":"","size":6,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/1"},"html":{"href":"https://github.com/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pull/1"},"issue":{"href":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/issues/1"},"comments":{"href":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/learn-co-curriculum/fewpjs-object-orientation-in-javascript/statuses/39cb18e84042ed4c41114553609a0e6d4cda2bc1"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"maxwellbenton"}}