Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
4c4598b
Fix for #3826 - Removed errorception.com from the respective md file.
Paramesh-T-S Mar 29, 2025
cde189d
Update Safari settings screenshots
dangerman Apr 2, 2025
78c6c44
Update Safari devtools instructions
dangerman Apr 2, 2025
e88c212
Update Function object, NFE article
rahulrao0209 Apr 6, 2025
a711a1f
Merge pull request #3830 from Paramesh-T-S/Issue_fix_Outdate_-link_in…
iliakan Apr 8, 2025
efaa9aa
sentry.io added as per suggestion - https://github.com/javascript-tut…
Paramesh-T-S Apr 8, 2025
6cc5077
Merge pull request #3835 from Paramesh-T-S/Issue_fix_Outdate_-link_in…
iliakan Apr 9, 2025
81cfee9
Update article.md
rahulrao0209 Apr 13, 2025
e2d8ebe
Merge pull request #3836 from rahulrao0209/patch-3
smith558 Apr 13, 2025
6bbdd0c
Merge pull request #3834 from rahulrao0209/patch-2
smith558 Apr 13, 2025
d3c395c
Merge pull request #3832 from dangerman/update-safari-devtools-screen…
smith558 Apr 13, 2025
540d753
Replace with up to date screenshots
smith558 Apr 13, 2025
5629b6b
Fix minor typo
wjw020206 Aug 27, 2025
a9864a5
Update 1-js/09-classes/06-instanceof/article.md
smith558 Sep 26, 2025
51bc6d3
Merge pull request #3871 from wjw020206/path-3
smith558 Sep 26, 2025
a1257db
clarify wording about null and undefined equality in JS
Lk-ux Nov 9, 2025
aa3841a
Update 1-js/02-first-steps/09-comparison/article.md
smith558 Nov 12, 2025
5e893cf
Merge pull request #3902 from Lk-ux/patch-2
smith558 Nov 12, 2025
9ef986e
minor grammar improvement
cathoderay Nov 20, 2025
d78b01e
Merge pull request #3906 from cathoderay/master
smith558 Nov 20, 2025
126ec98
merging all conflicts
iliakan Dec 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion 1-js/01-getting-started/4-devtools/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

Φαίνεται κάπως έτσι:

![chrome](chrome.png)
![chrome](chrome.webp)

Η ακριβής εμφάνιση των develοper tools εξαρτάται από την έκδοση του Chrome. Αλλάζει από καιρό σε καιρό, αλλά πρέπει να είναι παρόμοια.

Expand All @@ -51,7 +51,11 @@ To insert multiple lines, press `key:Shift+Enter`. This way one can enter long f

Το Safari (πρόγραμμα περιήγησης του Mac, που δεν υποστηρίζεται από τα Windows / Linux) είναι λίγο ιδιαίτερο εδώ. Πρέπει πρώτα να ενεργοποιήσουμε το μενού "Develop menu".

<<<<<<< HEAD
Ανοίξτε τις Προτιμήσεις και μεταβείτε στο παράθυρο "Για προχωρημένους". Υπάρχει ένα πλαίσιο ελέγχου στο κάτω μέρος:
=======
Open Settings and go to the "Advanced" pane. There's a checkbox at the bottom:
>>>>>>> d78b01e9833009fab534462e05c03cffc51bf0e3

![safari](safari.png)

Expand Down
Binary file removed 1-js/01-getting-started/4-devtools/chrome.png
Binary file not shown.
Binary file added 1-js/01-getting-started/4-devtools/chrome.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 1-js/01-getting-started/4-devtools/chrome@2.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed 1-js/01-getting-started/4-devtools/chrome@2x.png
Binary file not shown.
Binary file modified 1-js/01-getting-started/4-devtools/safari.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified 1-js/01-getting-started/4-devtools/safari@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions 1-js/02-first-steps/09-comparison/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ alert( undefined == 0 ); // false (3)

Απλώς αντιμετωπίστε οποιαδήποτε σύγκριση με το `undefined/null` εκτός από την αυστηρή ισότητα `===` με εξαιρετική προσοχή.

<<<<<<< HEAD
Μην χρησιμοποιείτε συγκρίσεις `> => < <=` με μια μεταβλητή που μπορεί να είναι `null/undefined`, εκτός εάν είστε πραγματικά σίγουροι για το τι κάνετε. Εάν μια μεταβλητή μπορεί να έχει αυτές τις τιμές, ελέγξτε τις ξεχωριστά.

## Περίληψη
Expand All @@ -217,3 +218,10 @@ alert( undefined == 0 ); // false (3)
- Όταν συγκρίνονται τιμές διαφορετικών τύπων, μετατρέπονται σε αριθμούς (με εξαίρεση έναν αυστηρό έλεγχο ισότητας).
- Οι τιμές `null` και `undefined` είναι ίσες `==` μεταξύ τους και δεν ισούται με καμία άλλη τιμή.
- Να είστε προσεκτικοί όταν χρησιμοποιείτε συγκρίσεις όπως `>` ή `<` με μεταβλητές που μπορεί περιστασιακά να είναι `null/undefined`. Ο ξεχωριστός έλεγχος για το `null/undefined` είναι καλή ιδέα.
=======
- Comparison operators return a boolean value.
- Strings are compared letter-by-letter in the "dictionary" order.
- When values of different types are compared, they get converted to numbers (with the exclusion of a strict equality check).
- The values `null` and `undefined` are equal `==` to themselves and each other, but do not equal any other value.
- Be careful when using comparisons like `>` or `<` with variables that can occasionally be `null/undefined`. Checking for `null/undefined` separately is a good idea.
>>>>>>> d78b01e9833009fab534462e05c03cffc51bf0e3
2 changes: 1 addition & 1 deletion 1-js/05-data-types/04-array/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Let's say we want the last element of the array.

Some programming languages allow the use of negative indexes for the same purpose, like `fruits[-1]`.

Although, in JavaScript it won't work. The result will be `undefined`, because the index in square brackets is treated literally.
However, in JavaScript it won't work. The result will be `undefined`, because the index in square brackets is treated literally.

We can explicitly calculate the last element index and then access it: `fruits[fruits.length - 1]`.

Expand Down
2 changes: 1 addition & 1 deletion 1-js/06-advanced-functions/06-function-object/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ welcome(); // Hello, Guest (nested call works)

Now it works, because the name `"func"` is function-local. It is not taken from outside (and not visible there). The specification guarantees that it will always reference the current function.

The outer code still has its variable `sayHi` or `welcome`. And `func` is an "internal function name", the way for the function to can call itself reliably.
The outer code still has its variable `sayHi` or `welcome`. And `func` is an "internal function name", the way for the function to call itself reliably.

```smart header="There's no such thing for Function Declaration"
The "internal name" feature described here is only available for Function Expressions, not for Function Declarations. For Function Declarations, there is no syntax for adding an "internal" name.
Expand Down
2 changes: 1 addition & 1 deletion 1-js/06-advanced-functions/10-bind/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ funcUser(); // John
*/!*
```

Here `func.bind(user)` as a "bound variant" of `func`, with fixed `this=user`.
Here `func.bind(user)` is a "bound variant" of `func`, with fixed `this=user`.

All arguments are passed to the original `func` "as is", for instance:

Expand Down
4 changes: 2 additions & 2 deletions 1-js/09-classes/06-instanceof/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ The algorithm of `obj instanceof Class` works roughly as follows:
For example:

```js run
// setup instanceOf check that assumes that
// set up instanceof check that assumes that
// anything with canEat property is an animal
class Animal {
static [Symbol.hasInstance](obj) {
Expand All @@ -68,7 +68,7 @@ The algorithm of `obj instanceof Class` works roughly as follows:
alert(obj instanceof Animal); // true: Animal[Symbol.hasInstance](obj) is called
```

2. Most classes do not have `Symbol.hasInstance`. In that case, the standard logic is used: `obj instanceOf Class` checks whether `Class.prototype` is equal to one of the prototypes in the `obj` prototype chain.
2. Most classes do not have `Symbol.hasInstance`. In that case, the standard logic is used: `obj instanceof Class` checks whether `Class.prototype` is equal to one of the prototypes in the `obj` prototype chain.

In other words, compare one after another:
```js
Expand Down
2 changes: 1 addition & 1 deletion 1-js/10-error-handling/1-try-catch/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,7 @@ For instance:

The role of the global handler `window.onerror` is usually not to recover the script execution -- that's probably impossible in case of programming errors, but to send the error message to developers.

There are also web-services that provide error-logging for such cases, like <https://errorception.com> or <https://www.muscula.com>.
There are also web-services that provide error-logging for such cases, like <https://muscula.com> or <https://www.sentry.io>.

They work like this:

Expand Down