JavaScript "gunakan ketat"

Dalam tutorial ini, anda akan belajar mengenai sintaks JavaScript 'gunakan ketat' dengan bantuan contoh.

'use strict';menyatakan bahawa kod JavaScript harus dilaksanakan dalam ' mode ketat '. Ini memudahkan anda menulis kod JavaScript yang baik dan selamat. Sebagai contoh,

 myVariable = 9;

Di sini, myVariable dibuat tanpa menyatakan. Ini berfungsi sebagai pemboleh ubah global dalam JavaScript. Walau bagaimanapun, jika anda menggunakan ini dalam mod yang ketat, program akan menyebabkan kesalahan. Sebagai contoh,

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

Kod di atas menimbulkan ralat kerana myVariable tidak dinyatakan. Dalam mod ketat, anda tidak boleh menggunakan pembolehubah tanpa menyatakannya.

Untuk menunjukkan bahawa program ini dalam keadaan ketat, kami telah menggunakan

 'use strict';

di bahagian atas program.

Anda boleh menyatakan mod ketat dengan menambahkan 'use strict';atau "use strict";pada permulaan program.

Apabila anda menyatakan mod ketat pada awal program, ia akan mempunyai skop global dan semua kod dalam program akan dijalankan dalam mod ketat.

Mod Ketat dalam Pembolehubah

Dalam mod yang ketat, menggunakan pemboleh ubah tanpa menyatakan melemparkan kesalahan.

Catatan : Anda perlu menyatakan mod ketat pada awal program. Sekiranya anda menyatakan mod ketat di bawah beberapa kod, ia tidak akan berfungsi.

Sebagai contoh,

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

Mod Ketat dalam Fungsi

Anda juga boleh menggunakan mod ketat dalam fungsi. Sebagai contoh,

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

Sekiranya anda menggunakan 'use strict';fungsi, kod di dalam fungsi akan berada dalam keadaan ketat.

Dalam program di atas, 'use strict';digunakan di dalam hello()fungsi. Oleh itu, mod ketat hanya boleh digunakan di dalam fungsi.

Seperti yang anda lihat, pada awal program, myVariabledigunakan tanpa menyatakan.

Sekiranya anda menyatakan 'use strict';di bahagian atas program, anda tidak boleh menggunakan pemboleh ubah tanpa menyatakannya di dalam fungsi juga. Sebagai contoh,

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

Catatan : Mod ketat tidak berlaku untuk menyekat penyataan dengan ()pendakap.

Perkara yang Tidak Dibolehkan dalam Mode Ketat

1. Pemboleh ubah yang tidak dinyatakan tidak dibenarkan.

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

2. Objek yang tidak dinyatakan tidak dibenarkan.

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

3. Memadam objek tidak dibenarkan.

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

4. Penduaan nama parameter tidak dibenarkan.

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

5. Penyerahan hak milik yang tidak boleh ditulis tidak dibenarkan.

 '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. Menyerahkan harta hanya untuk mendapatkan tidak dibenarkan.

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

7. Menyerahkan harta baru pada objek yang tidak dapat dilanjutkan tidak dibenarkan.

 '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. Sintaks Oktal tidak dibenarkan.

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

9. Argumen nama dan pemboleh ubah tidak dibenarkan.

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

10. Anda juga tidak boleh menggunakan kata kunci terpelihara ini dalam mod yang ketat.

implements interface let package private protected public static yield

Kelebihan Mode Ketat

Penggunaan mod yang ketat:

  • membantu menulis kod yang lebih bersih
  • mengubah kesalahan senyap yang diterima sebelumnya (sintaks buruk) menjadi kesalahan sebenar dan melemparkan mesej ralat
  • mempermudah menulis JavaScript "selamat"

Artikel menarik...