Skip to content

Commit 97b286b

Browse files
committed
Merge branch 'master' of github.com:javascript-tutorial/en.javascript.info into sync-f4891457
2 parents e1efdf7 + f489145 commit 97b286b

File tree

32 files changed

+350
-251
lines changed

32 files changed

+350
-251
lines changed

1-js/01-getting-started/1-intro/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Different engines have different "codenames". For example:
2626

2727
- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- in Chrome and Opera.
2828
- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox.
29-
- ...There are other codenames like "Trident" and "Chakra" for different versions of IE, "ChakraCore" for Microsoft Edge, "Nitro" and "SquirrelFish" for Safari, etc.
29+
- ...There are other codenames like "Chakra" for IE, "ChakraCore" for Microsoft Edge, "Nitro" and "SquirrelFish" for Safari, etc.
3030

3131
The terms above are good to remember because they are used in developer articles on the internet. We'll use them too. For instance, if "a feature X is supported by V8", then it probably works in Chrome and Opera.
3232

1-js/02-first-steps/05-types/article.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,13 @@ const bigInt = 1234567890123456789012345678901234567890n;
8181

8282
As `BigInt` numbers are rarely needed, we don't cover them here, but devoted them a separate chapter <info:bigint>. Read it when you need such big numbers.
8383

84+
8485
```smart header="Compatibility issues"
85-
Right now `BigInt` is supported in Firefox/Chrome/Edge, but not in Safari/IE.
86+
Right now, `BigInt` is supported in Firefox/Chrome/Edge/Safari, but not in IE.
8687
```
8788

89+
You can check [*MDN* BigInt compatibility table](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt#Browser_compatibility) to know which versions of a browser are supported.
90+
8891
## String
8992

9093
A string in JavaScript must be surrounded by quotes.

1-js/02-first-steps/08-operators/4-fix-prompt/solution.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ let b = "2"; // prompt("Second number?", 2);
99
alert(a + b); // 12
1010
```
1111

12-
What we should do is to convert strings to numbers before `+`. For example, using `Number()` or
13-
prepending them with `+`.
12+
What we should do is to convert strings to numbers before `+`. For example, using `Number()` or prepending them with `+`.
1413

1514
For example, right before `prompt`:
1615

1-js/02-first-steps/08-operators/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ Parentheses override any precedence, so if we're not satisfied with the default
180180
181181
There are many operators in JavaScript. Every operator has a corresponding precedence number. The one with the larger number executes first. If the precedence is the same, the execution order is from left to right.
182182
183-
Here's an extract from the [precedence table](https://developer.mozilla.org/en/JavaScript/Reference/operators/operator_precedence) (you don't need to remember this, but note that unary operators are higher than corresponding binary ones):
183+
Here's an extract from the [precedence table](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence) (you don't need to remember this, but note that unary operators are higher than corresponding binary ones):
184184

185185
| Precedence | Name | Sign |
186186
|------------|------|------|

1-js/02-first-steps/09-comparison/1-comparison-questions/solution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Some of the reasons:
1414

1515
1. Obviously, true.
1616
2. Dictionary comparison, hence false. `"a"` is smaller than `"p"`.
17-
3. Again, dictionary comparison, first char of `"2"` is greater than the first char of `"1"`.
17+
3. Again, dictionary comparison, first char `"2"` is greater than the first char `"1"`.
1818
4. Values `null` and `undefined` equal each other only.
1919
5. Strict equality is strict. Different types from both sides lead to false.
2020
6. Similar to `(4)`, `null` only equals `undefined`.

1-js/02-first-steps/09-comparison/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ In JavaScript they are written like this:
99
- Equals: `a == b`, please note the double equality sign `==` means the equality test, while a single one `a = b` means an assignment.
1010
- Not equals. In maths the notation is <code>&ne;</code>, but in JavaScript it's written as <code>a != b</code>.
1111

12-
In this article we'll learn more about different types of comparisons, how JavaScript makes them, including important peculiarities.
12+
In this article we'll learn more about different types of comparisons, how JavaScript makes them, including important peculiarities.
1313

14-
At the end you'll find a good recipe to avoid "javascript quirks"-related issues.
14+
At the end you'll find a good recipe to avoid "JavaScript quirks"-related issues.
1515

1616
## Boolean is the result
1717

@@ -57,7 +57,7 @@ The algorithm to compare two strings is simple:
5757
4. Repeat until the end of either string.
5858
5. If both strings end at the same length, then they are equal. Otherwise, the longer string is greater.
5959

60-
In the examples above, the comparison `'Z' > 'A'` gets to a result at the first step while the strings `"Glow"` and `"Glee"` are compared character-by-character:
60+
In the examples above, the comparison `'Z' > 'A'` gets to a result at the first step while the strings `'Glow'` and `'Glee'` are compared character-by-character:
6161

6262
1. `G` is the same as `G`.
6363
2. `l` is the same as `l`.

1-js/02-first-steps/11-logical-operators/6-check-if-in-range/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ importance: 3
44

55
# Check the range between
66

7-
Write an "if" condition to check that `age` is between `14` and `90` inclusively.
7+
Write an `if` condition to check that `age` is between `14` and `90` inclusively.
88

99
"Inclusively" means that `age` can reach the edges `14` or `90`.

1-js/02-first-steps/11-logical-operators/7-check-if-out-range/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ importance: 3
44

55
# Check the range outside
66

7-
Write an `if` condition to check that `age` is NOT between 14 and 90 inclusively.
7+
Write an `if` condition to check that `age` is NOT between `14` and `90` inclusively.
88

99
Create two variants: the first one using NOT `!`, the second one -- without it.

1-js/02-first-steps/11-logical-operators/9-check-login/solution.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@
33
```js run demo
44
let userName = prompt("Who's there?", '');
55

6-
if (userName == 'Admin') {
6+
if (userName === 'Admin') {
77

88
let pass = prompt('Password?', '');
99

10-
if (pass == 'TheMaster') {
10+
if (pass === 'TheMaster') {
1111
alert( 'Welcome!' );
12-
} else if (pass == '' || pass == null) {
12+
} else if (pass === '' || pass === null) {
1313
alert( 'Canceled' );
1414
} else {
1515
alert( 'Wrong password' );
1616
}
1717

18-
} else if (userName == '' || userName == null) {
18+
} else if (userName === '' || userName === null) {
1919
alert( 'Canceled' );
2020
} else {
2121
alert( "I don't know you" );

1-js/02-first-steps/11-logical-operators/article.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ The OR `||` operator does the following:
8484

8585
A value is returned in its original form, without the conversion.
8686

87-
In other words, a chain of OR `"||"` returns the first truthy value or the last one if no truthy value is found.
87+
In other words, a chain of OR `||` returns the first truthy value or the last one if no truthy value is found.
8888

8989
For instance:
9090

@@ -101,9 +101,9 @@ This leads to some interesting usage compared to a "pure, classical, boolean-onl
101101

102102
1. **Getting the first truthy value from a list of variables or expressions.**
103103

104-
For instance, we have `firstName`, `lastName` and `nickName` variables, all optional.
104+
For instance, we have `firstName`, `lastName` and `nickName` variables, all optional (i.e. can be undefined or have falsy values).
105105

106-
Let's use OR `||` to choose the one that has the data and show it (or `anonymous` if nothing set):
106+
Let's use OR `||` to choose the one that has the data and show it (or `"Anonymous"` if nothing set):
107107

108108
```js run
109109
let firstName = "";
@@ -115,7 +115,7 @@ This leads to some interesting usage compared to a "pure, classical, boolean-onl
115115
*/!*
116116
```
117117

118-
If all variables were falsy, `Anonymous` would show up.
118+
If all variables were falsy, `"Anonymous"` would show up.
119119

120120
2. **Short-circuit evaluation.**
121121

@@ -223,7 +223,7 @@ The precedence of AND `&&` operator is higher than OR `||`.
223223
So the code `a && b || c && d` is essentially the same as if the `&&` expressions were in parentheses: `(a && b) || (c && d)`.
224224
````
225225
226-
````warn header="Don't replace `if` with || or &&"
226+
````warn header="Don't replace `if` with `||` or `&&`"
227227
Sometimes, people use the AND `&&` operator as a "shorter way to write `if`".
228228
229229
For instance:
@@ -244,7 +244,7 @@ let x = 1;
244244
if (x > 0) alert( 'Greater than zero!' );
245245
```
246246
247-
Although, the variant with `&&` appears shorter, `if` is more obvious and tends to be a little bit more readable. So we recommend using every construct for its purpose: use `if` if we want if and use `&&` if we want AND.
247+
Although, the variant with `&&` appears shorter, `if` is more obvious and tends to be a little bit more readable. So we recommend using every construct for its purpose: use `if` if we want `if` and use `&&` if we want AND.
248248
````
249249
250250

0 commit comments

Comments
 (0)