object-oriented-javascript-todos
HTML JavaScript
Latest commit 7a152ec Jun 12, 2015 @ltw ltw Update README.md
Permalink
Failed to load latest commit information.
README.md Update README.md Jun 12, 2015
todo_list.html init Mar 23, 2015
todo_list.js init Mar 23, 2015

README.md

Object Oriented JavaScript Todos

Learning Competencies

  • Write a constructor that creates a new TodoList and new Task using JavaScript constructors and prototypical inheritance.
  • Implement an API in plain JavaScript

Summary

This challenge should be done entierly in the JavaScript console within the chrome developer tools.

This is part two of the JavaScript Todos challenge

This challenge is designed to introduce you to JavaScript the language before we introduce features of the web browser.

Build the following API

// Note we are using a JavaScript constructor now.
var groceryList = new TodoList();
groceryList.add('bread');
groceryList.add('cheese');
groceryList.add('milk');

// tasks is now an array of Task objects
groceryList.tasks //-> [Task, Task, Task]

groceryList.list();
//> Task {id: 1, description: 'bread', completed: false}
//> Task {id: 2, description: 'cheese', completed: false}
//> Task {id: 3, description: 'milk', completed: false}


// getting a task object
var breadTask = groceryList.tasks[0];

breadTask.id //-> 1 (some unique numerical ID)
breadTask.description //-> 'bread'
breadTask.completed //-> false


// This should complete the task
breadTask.complete();

breadTask.completed //-> true

groceryList.list();
//> Task {id: 1, description: 'bread', completed: true}
//> Task {id: 2, description: 'cheese', completed: false}
//> Task {id: 3, description: 'milk', completed: false}


// This should remove the task from the todo list
groceryList.remove(breadTask);

groceryList.list();
//> Task {id: 2, description: 'cheese', completed: false}
//> Task {id: 3, description: 'milk', completed: false}