-
Notifications
You must be signed in to change notification settings - Fork 19
Homework 01 #16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Homework 01 #16
Changes from all commits
29cdc80
d8cb3fa
9f12765
f16d38f
b345ce5
d6afd0a
9ddf9f4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,21 @@ | ||
// Import HTMLElement here | ||
import HTMLElement from './HTMLElement'; | ||
|
||
// Define class here | ||
class DivElement extends HTMLElement { | ||
constructor(content) { | ||
super('div', content); | ||
} | ||
|
||
render() { | ||
// Instructions unclear. | ||
// Sounds like this is what you want: | ||
return `<${this.tag}>${this.content}</${this.tag}>`; | ||
|
||
// Easier if it was | ||
// return super.render(); | ||
} | ||
} | ||
|
||
// Export class here | ||
export default DivElement; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,14 @@ | ||
// Define class here | ||
class HTMLElement { | ||
constructor(tag, content) { | ||
this.tag = tag; | ||
this.content = content; | ||
} | ||
|
||
render() { | ||
return `<${this.tag}>${this.content}</${this.tag}>`; | ||
} | ||
} | ||
|
||
// Export class here | ||
export default {}; | ||
export default HTMLElement; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,8 @@ | ||
import people from './people.json'; | ||
|
||
people.forEach(function (person) { | ||
const names = person.name.split(' '); | ||
const firstName = names[0]; | ||
const lastName = names[1]; | ||
const email = person.email; | ||
const phone = person.phone; | ||
people.forEach((person) => { | ||
const [firstName, lastName] = person.name.split(' '); | ||
const { email, phone } = person; | ||
|
||
console.log('First name: ' + firstName + '\nLast name: ' + lastName + '\nEmail: ' + email + '\nPhone number: ' + phone + '\n'); | ||
console.log(`First name: ${firstName}\nLast name: ${lastName}\nEmail: ${email}\nPhone number: ${phone}\n`); | ||
}); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,19 @@ | ||
function Timer(seconds) { | ||
this.seconds = seconds; | ||
} | ||
class Timer { | ||
constructor(seconds) { | ||
this.seconds = seconds; | ||
} | ||
|
||
Timer.prototype.start = function () { | ||
var instance = this; | ||
var timerInterval = setInterval(function () { | ||
if (instance.seconds === 0) { | ||
clearInterval(timerInterval); | ||
} | ||
start() { | ||
let instance = this.seconds; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
const timerInterval = setInterval(() => { | ||
if (instance === 0) { | ||
clearInterval(timerInterval); | ||
} | ||
|
||
console.log(instance.seconds); | ||
instance.seconds -= 1; | ||
}, 1000); | ||
}; | ||
console.log(instance); | ||
instance -= 1; // the linter does not like "instance--". WTF? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Airbnb lint rules probably disallowed this due to this weirdness in JavaScript with |
||
}, 1000); | ||
} | ||
} | ||
|
||
export default Timer; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since
DivElement
inherits fromHTMLElement
, therender
function doesn't need to be defined. It's inherited fromHTMLElement
. This would be an "override". See: https://javascript.info/class-inheritance#overriding-a-method