Ok, I went through the lesson again. I still have the same issues, but am better able (I think) to express them. Sorry if this comes across as harsh. It’s not meant to be, but I’m trying to present a tangle of things in a concise way.
There are actually two separate issues with this lesson, as I see it.
- Inconsistency with how previous lessons have worked
When I open any lesson, including this one, the Interactive Editor is not open. It’s possible that in a much earlier lesson there was some brief mention of the editor, but I don’t remember it and have gotten through all of the lessons so far without even noticing it. That’s because, in every lesson, if console.log is included in a code block, it has the return value or some explanation in a comment next to it. In this lesson, a couple of the code blocks have console.log() with no comment next to it, so to me they were empty and I couldn’t see what was happening.
I see now that the return values are shown in the editor, but think the lesson should still be changed to make it consistent with the others, and also with itself (because there are some logs with comments next to them and some without, with no discernible reason for the disparity).
- The lesson itself is unclear
There are enough things about this lesson that are unclear that I don’t feel I’ve learned much. It doesn’t:
-explain what this syntax from the editor means:
Number { constructor: { name: "Number" } }
It looks like an object called Number, which contains a property called “constructor,” whose value is a property called name, which has the value of “Number.” Based on what we’ve learned so far, this is not understandable.
-explain what is being created and how we would use it. I know it’s an object, but based on the Interactive Editor and my own experiments in Firefox’s console, I don’t know how this relates to what we were taught about an object being a wrapper that looks like { property: value, property: value }. What happened to the 42? This should show up somewhere other than the creation of the initial variable.
-explain what the difference is between using the new keyword and not using it, and when we would choose one over the other
-give us an answer to the question that follows the lesson, “When might you use the Object() constructor instead of object literal notation?”