`strict mode` sa JavaScript
Ipinaliliwanag ng artikulong ito ang strict mode
sa JavaScript.
YouTube Video
strict mode
sa JavaScript
Sa JavaScript, ang strict mode
ay isang tampok na ipinakilala sa ECMAScript 5 (ES5) upang gawing mas ligtas ang code at maiwasan ang mga pagkakamali. Sa paggamit ng strict mode, ang ilang maluwag na syntax at mga posibleng mapanganib na tampok ay hindi pinapagana, at mas mahigpit na pag-check ng error ang pinapatupad. Pinapayagan nito ang mga developer na maiwasan ang di-inaasahang pag-uugali at magsulat ng mas matatag at high-performance na code.
Pag-enable ng strict mode
Upang paganahin ang strict mode
, idagdag ang sumusunod na direktiba sa simula ng iyong code.
1"use strict";
Ang deklarasyong ito ay maaaring ilapat sa buong script o sa bawat funcion. Halimbawa, kung ilalapat sa buong script, maaari mo itong isulat tulad nito:.
1"use strict";
2
3function example() {
4 // Strict mode is applied
5}
Kung ilalapat sa bawat function, maaari mo itong isulat tulad nito:.
1function example() {
2 "use strict";
3 // Strict mode is applied only within this function
4}
Ang strict mode
ay nalalapat sa bawat scope, kaya maaari rin itong paganahin sa loob ng isang function. Gayundin, dahil naka-enable ang strict mode
bilang default sa mga module, hindi mo na kailangang ideklara ito nang paisa-isa sa loob ng module.
Pangunahing katangian at pagkakaiba ng strict mode
Binabago ng paggamit ng strict mode
ang ilang default na pag-uugali ng JavaScript. Narito ang mga pangunahing halimbawa.
Pagbabawal ng implicit na global variables
Sa regular na JavaScript, ang hindi paglalahad ng deklarasyon ng variable ay awtomatikong nagtatakda ng mga ito bilang global na variable, ngunit sa strict mode
, magreresulta ito sa error.
1"use strict";
2
3x = 10; // Error: x is not defined
Ang mga variable ay palaging kailangang ideklara gamit ang var
, let
, o const
.
Paghihigpit sa paggamit ng reserved words
Ang mga potensyal na hinaharap na keyword ng JavaScript (hal., implements
, interface
, package
, atbp.) ay hindi maaaring gamitin bilang pangalan ng variable o function sa strict mode
.
1"use strict";
2
3var package = "strict mode"; // Error: Unexpected strict mode reserved word
Mga pagbabago sa pag-uugali ng this
Sa normal na mode, ang this
sa loob ng isang function ay tumutukoy sa global object (hal., window
sa mga browser), ngunit sa strict mode
, ang this
ay undefined
.
1"use strict";
2
3function example() {
4 console.log(this); // undefined
5}
6
7example();
Nakakatulong ito upang maiwasan ang mga bug na dulot ng maling paggamit ng this
.
Pagbabawal ng pag-delete ng mga property na hindi matatanggal
Sa normal na mode, ang pagtatangka na tanggalin ang mga non-deletable na property ng object ay binabalewala nang walang error, ngunit sa strict mode
, ito ay magbubunga ng error.
1"use strict";
2
3var obj = Object.freeze({name: "John"});
4delete obj.name; // Error: Cannot delete property 'name'
Pagbabawal ng magkaparehong pangalan ng parameter
Sa normal na mode, pinapayagan ang pagdedeklara ng mga parameter na may parehong pangalan nang maraming beses, ngunit sa strict mode
, magreresulta ito sa error.
1"use strict";
2
3function example(a, a) {
4 // Error: Duplicate parameter name not allowed in this context
5}
Pagbabawal ng with
na pahayag
Ang with
na pahayag ay maaaring magpababa ng readability ng code at hindi pinapayagan sa strict mode
.
1"use strict";
2
3with (Math) {
4 // Error: Strict mode code may not include a with statement
5}
Mga kalamangan ng strict mode
Pinapabuti ng strict mode
ang kaligtasan at kahusayan ng code sa maraming paraan.
Mas pinahusay na pagtukoy ng error
Sa strict mode
, ang mga error na hindi napapansin sa normal na mode ay natutukoy, na nagbibigay-daan sa mga developer na ma-detect agad ang mga potensyal na bug. Halimbawa, pinipigilan nito ang paglikha ng hindi sinasadyang global na mga variable at maling paggamit ng mga reserved na salita.
Pinahusay na kakayahan (performance)
Sa strict mode
, mas mahusay na naa-optimize ng JavaScript engines ang code. Bilang resulta, maaaring bumilis ang bilis ng pagtakbo ng code.
Pinahusay na seguridad ng code
Ang paghawak sa this
ay nagiging mas mahigpit, na pumipigil sa pag-access sa hindi kinakailangang mga global object, at sa gayon ay pinapabuti ang seguridad ng code. Bukod pa rito, ang paghihigpit sa paggamit ng mga reserved na salita ay nag-iiwas sa mga potensyal na salungatan sa mga keyword sa hinaharap.
Pagkakatugma at mga konsiderasyon
Ang strict mode
ay ipinakilala sa ECMAScript 5 at hindi sinusuportahan sa mga browser na inilabas bago ito. Gayunpaman, ang pag-enable ng strict mode
ay simpleng binabalewala ng mga hindi sumusuportang browser, nang hindi sinisira ang script. Samakatuwid, karaniwang maaari itong gamitin nang ligtas.
Kapag ipinakilala ang strict mode
sa isang malaki at umiiral na proyekto, mahalagang magsagawa ng masusing pagsusuri upang maiwasan ang hindi inaasahang mga error.
Konklusyon
Ang strict mode
ng JavaScript ay isang napaka-kapaki-pakinabang na tampok para mapabuti ang kalidad ng code. Partikular, para sa malalaking proyekto o pagbuo ng team, inirerekomenda ang aktibong paggamit ng strict mode upang maiwasan ang mga di-inaasahang bug at error, at upang mapahusay ang pagiging madaling unawain at maayos ng code.
Ang pag-unawa at maayos na paggamit ng strict mode
ay nakakatulong upang maiwasan ang mga pagkakamali sa JavaScript at nagbibigay-daan sa mas ligtas at mas mahusay na pag-develop.
Maaari mong sundan ang artikulo sa itaas gamit ang Visual Studio Code sa aming YouTube channel. Paki-check din ang aming YouTube channel.