JavaScript "χρησιμοποιήστε αυστηρά"

Σε αυτό το σεμινάριο, θα μάθετε για τη σύνταξη JavaScript «αυστηρή» με τη βοήθεια παραδειγμάτων.

'use strict';δηλώνει ότι ο κώδικας JavaScript πρέπει να εκτελεστεί σε « αυστηρή λειτουργία ». Αυτό καθιστά ευκολότερο να γράψετε καλό και ασφαλή κώδικα JavaScript. Για παράδειγμα,

 myVariable = 9;

Εδώ, το myVariable δημιουργείται χωρίς δήλωση. Αυτό λειτουργεί ως καθολική μεταβλητή στο JavaScript. Ωστόσο, εάν το χρησιμοποιείτε σε αυστηρή λειτουργία, το πρόγραμμα θα προκαλέσει σφάλμα. Για παράδειγμα,

 'use strict'; // Error myVariable = 9;

Ο παραπάνω κώδικας προκαλεί σφάλμα επειδή το myVariable δεν δηλώνεται. Σε αυστηρή λειτουργία, δεν μπορείτε να χρησιμοποιήσετε τη μεταβλητή χωρίς να τις δηλώσετε.

Για να δείξουμε ότι αυτό το πρόγραμμα βρίσκεται σε αυστηρή λειτουργία, έχουμε χρησιμοποιήσει

 'use strict';

στην κορυφή του προγράμματος.

Μπορείτε να δηλώσετε την αυστηρή λειτουργία προσθέτοντας 'use strict';ή "use strict";στην αρχή ενός προγράμματος.

Όταν δηλώνετε αυστηρή λειτουργία στην αρχή ενός προγράμματος, θα έχει καθολικό εύρος και όλος ο κώδικας στο πρόγραμμα θα εκτελεστεί σε αυστηρή λειτουργία.

Αυστηρή λειτουργία σε μεταβλητή

Σε αυστηρή λειτουργία, χρησιμοποιώντας μια μεταβλητή χωρίς να δηλώσετε ότι ρίχνει ένα σφάλμα

Σημείωση : Πρέπει να δηλώσετε αυστηρή λειτουργία στην αρχή του προγράμματος. Εάν δηλώσετε αυστηρή λειτουργία κάτω από κάποιο κωδικό, δεν θα λειτουργήσει.

Για παράδειγμα,

 console.log("some code"); // 'use strict' is ignored // must be at the top "use strict"; x = 21; // does not throw an error

Αυστηρή λειτουργία σε λειτουργία

Μπορείτε επίσης να χρησιμοποιήσετε αυστηρή λειτουργία μέσα σε μια συνάρτηση. Για παράδειγμα,

 myVariable = 9; console.log(myVariable); // 9 function hello() ( // applicable only for this function 'use strict'; string = 'hello'; // throws an error ) hello();

Εάν χρησιμοποιείτε 'use strict';μέσα σε μια συνάρτηση, ο κωδικός μέσα στη συνάρτηση θα βρίσκεται σε αυστηρή λειτουργία.

Στο παραπάνω πρόγραμμα, 'use strict';χρησιμοποιείται μέσα στη hello()συνάρτηση. Ως εκ τούτου, η αυστηρή λειτουργία εφαρμόζεται μόνο μέσα στη λειτουργία.

Όπως μπορείτε να δείτε, στην αρχή του προγράμματος, myVariableχρησιμοποιείται χωρίς δήλωση.

Εάν δηλώσετε 'use strict';στην κορυφή του προγράμματος, δεν μπορείτε να χρησιμοποιήσετε μια μεταβλητή χωρίς να την δηλώσετε και στη λειτουργία. Για παράδειγμα,

 // applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();

Σημείωση : Η αυστηρή λειτουργία δεν ισχύει για αποκλείσεις δηλώσεων με ()αγκύλες.

Πράγματα που δεν επιτρέπονται σε αυστηρή λειτουργία

1. Η αδήλωτη μεταβλητή δεν επιτρέπεται.

 'use strict'; a = 'hello'; // throws an error

2. Δεν επιτρέπονται τα αδήλωτα αντικείμενα.

 'use strict'; person = (name: 'Carla', age: 25); // throws an error

3. Δεν επιτρέπεται η διαγραφή ενός αντικειμένου.

 'use strict'; let person = (name: 'Carla'); delete person; // throws an error

4. Δεν επιτρέπεται η αναπαραγωγή ονόματος παραμέτρου.

 "use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();

5. Δεν επιτρέπεται η ανάθεση σε μια μη εγγράψιμη ιδιοκτησία.

 'use strict'; let obj1 = (); Object.defineProperty(obj1, 'x', ( value: 42, writable: false )); // assignment to a non-writable property obj1.x = 9; // throws an error

6. Δεν επιτρέπεται η ανάθεση σε ιδιοκτησία μόνο για κληρώσεις.

 'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error

7. Δεν επιτρέπεται η ανάθεση σε νέα ιδιότητα σε μη επεκτάσιμο αντικείμενο.

 'use strict'; let obj = (); Object.preventExtensions(obj); // Assignment to a new property on a non-extensible object obj.newValue = 'new value'; // throws an error

8. Η συντακτική οκταλία δεν επιτρέπεται.

 'use strict'; let a = 010; // throws an error

9. Δεν επιτρέπονται ορίσματα μεταβλητών ονόματος και eval.

 'use strict'; let arguments = 'hello'; // throws an error let eval = 44;

10. Δεν μπορείτε επίσης να χρησιμοποιήσετε αυτές τις δεσμευμένες λέξεις-κλειδιά σε αυστηρή λειτουργία.

implements interface let package private protected public static yield

Οφέλη της αυστηρής λειτουργίας

Η χρήση αυστηρής λειτουργίας:

  • βοηθά να γράψετε έναν καθαρότερο κωδικό
  • αλλάζει προηγούμενα αποδεκτά σιωπηλά σφάλματα (κακή σύνταξη) σε πραγματικά σφάλματα και ρίχνει ένα μήνυμα σφάλματος
  • διευκολύνει την εγγραφή "ασφαλούς" JavaScript

ενδιαφέροντα άρθρα...