diff --git a/types & grammar/ch1.md b/types & grammar/ch1.md index 9ec77d5b2..bcb4ca157 100644 --- a/types & grammar/ch1.md +++ b/types & grammar/ch1.md @@ -78,7 +78,7 @@ var a = null; (!a && typeof a === "object"); // true ``` -`null` is the only value that is "falsy" (aka false-like; see Chapter 4) but that also returns `"object"` from the `typeof` check. +`null` is the only primitive value that is "falsy" (aka false-like; see Chapter 4) but that also returns `"object"` from the `typeof` check. So what's the seventh string value that `typeof` can return? @@ -104,7 +104,7 @@ a.length; // 2 Since you declared the function with two formal named parameters (`b` and `c`), the "length of the function" is `2`. -What about arrays? They're pretty native to JS, so are they a special type? +What about arrays? They're native to JS, so are they a special type? ```js typeof [1,2,3] === "object"; // true @@ -136,7 +136,7 @@ The `typeof` operator always returns a string. So: typeof typeof 42; // "string" ``` -The first `typeof 42` returns `"number"`, and then `typeof "number"` is `"string"`. +The first `typeof 42` returns `"number"`, and `typeof "number"` is `"string"`. ### `undefined` vs "undeclared" @@ -157,7 +157,7 @@ typeof b; // "undefined" typeof c; // "undefined" ``` -It's tempting for most developers to think of the name "undefined" and think of it as a synonym for "undeclared." However, in JS, these two concepts are quite different. +It's tempting for most developers to think of the word "undefined" and think of it as a synonym for "undeclared." However, in JS, these two concepts are quite different. An "undefined" variable is one that has been declared in the accessible scope, but *at the moment* has no other value in it. By contrast, an "undeclared" variable is one that has not been formally declared in the accessible scope.