Week 8
Quiz 17

Quiz 17: Object encoding without class, this, or new

Question 1

Shows true?
JavaScript
function Todo(text) {
    let done = false;
    const check = () => this.done = true;
    return {
        getText: () => text,
        isDone: () => done,
        check: check
    }
}
 
let todo = Todo("buy milk");
todo.check();
todo.isDone()

Question 2

Shows true?
JavaScript
function Todo(text) {
    let done = false;
    const check = () => done = true;
    return {
        getText: () => text,
        isDone: () => done,
        check: check
    }
}
 
let todo = new Todo("buy milk");
todo.check();
todo.isDone()

Question 3

Shows true?
JavaScript
function Todo(text, done) {
    const check = () => done = true;
    return {
        getText: () => text,
        isDone: () => done,
        check: check
    }
}
 
let todo = Todo("buy milk", false);
todo.check();
todo.isDone()

Question 4

Shows true?
JavaScript
function Todo(text) {
    let done = false;
    return {
        getText: () => text,
        isDone: () => done,
        check: done = true
    }
}
 
let todo = Todo("buy milk");
todo.check();
todo.isDone()

Question 5

Shows true?
JavaScript
function Todo(text, done) {
    function check() {
        done = true
    }
 
    return {
        getText: () => text,
        isDone: () => done,
        check: check
    }
}
 
let todo = Todo("buy milk", false);
todo.check();
todo.isDone()

Question 6

Shows true?
JavaScript
function Todo(text) {
    let done = false;
    return {
        getText: () => text,
        isDone: () => done,
        check: () => done = true
    }
}
 
let todo = Todo("buy milk");
todo.check();
todo.isDone()

Question 7

Shows true?
JavaScript
function Todo(text) {
    let done = false;
    const check = () => done = true;
    return {
        getText: () => text,
        isDone: () => done,
        check: check
    }
}
 
let todo = Todo("buy milk");
todo.check();
todo.isDone()