Discover new books on Goodreads
Meet your next favorite book
to-read
(48)
currently-reading (4)
read (104)
did-not-finish (0)
fiction-literary (29)
fiction-genre (24)
read-in-print (15)
sk-homework (13)
classics (8)
currently-reading (4)
read (104)
did-not-finish (0)
fiction-literary (29)
fiction-genre (24)
read-in-print (15)
sk-homework (13)
classics (8)
magical-realism
(6)
software-development (6)
nonfiction-general (5)
business (4)
christianity (4)
faith (4)
japan (4)
mathematics (4)
horror (3)
software-development (6)
nonfiction-general (5)
business (4)
christianity (4)
faith (4)
japan (4)
mathematics (4)
horror (3)
We’re trained to live in constant denial of the miraculous. And it’s only by telling our stories that we get any sense of how extraordinary human existence actually can be.
“The other form (called for in) enumerates the property names (or keys) of an object. On each iteration, another property name string from the object is assigned to the variable.”
― JavaScript: The Good Parts: The Good Parts
― JavaScript: The Good Parts: The Good Parts
“JavaScript, being a loosely typed language, never casts. The lineage of an object is irrelevant. What matters about an object is what it can do, not what it is descended from.”
― JavaScript: The Good Parts: The Good Parts
― JavaScript: The Good Parts: The Good Parts
“Some languages offer the tail recursion optimization. This means that if a function returns the result of invoking itself recursively, then the invocation is replaced with a loop, which can significantly speed things up. Unfortunately, JavaScript does not currently provide tail recursion optimization. Functions that recurse very deeply can fail by exhausting the return stack:”
― JavaScript: The Good Parts: The Good Parts
― JavaScript: The Good Parts: The Good Parts
“The || operator can be used to fill in default values: var middle = stooge["middle-name"] || "(none)"; var status = flight.status || "unknown";”
― JavaScript: The Good Parts: The Good Parts
― JavaScript: The Good Parts: The Good Parts
“Attempting to retrieve values from undefined will throw a TypeError exception. This can be guarded against with the && operator: flight.equipment // undefined flight.equipment.model // throw "TypeError" flight.equipment && flight.equipment.model // undefined”
― JavaScript: The Good Parts: The Good Parts
― JavaScript: The Good Parts: The Good Parts
Ken’s 2025 Year in Books
Take a look at Ken’s Year in Books, including some fun facts about their reading.
More friends…
Favorite Genres
Polls voted on by Ken
Lists liked by Ken















