- Write a constructor that creates a
new TodoList
andnew Task
using JavaScript constructors and prototypical inheritance. - Implement an API in plain JavaScript
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.
// 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}