La modalità Strict fa sì che il vostro programma o funzione segua un contesto operativo rigoroso. Ora ecco il mio ultimo post relativo al use strict
in JavaScript. Questo post è molto utile per i principianti e per i rinfrescatori.
Che cos’è “use strict”?
=> La modalità Strict fa sì che il vostro programma o funzione segua un contesto operativo rigoroso.
Quindi cosa significa in realtà?
=> Ora, il compilatore lancia alcuni errori silenziosi che prima non erano lanciati o ignorati. Inoltre, non ti permette di fare certe cose. Vediamo quali cose.
Cosa fa esattamente la modalità strict?
La variabile non verrà aggiunta all’oggetto globale/finestra se non è dichiarata.
designer = "Creativity is everything"var developer = "Docs are life"console.log(designer)// Creativity is everything
Per default, se una variabile non dichiarata viene definita, viene aggiunta all’oggetto globale/finestra. Questo può creare un errore e può anche essere difficile da trovare.
Per evitare tali scenari, possiamo dichiarare use strict. La modalità strict non permette l’uso di variabili che non sono state dichiarate.
var designer = "Creativity is everything"// YOU PROBABLY MEANT THIS.
In modalità rigorosa
'use strict'designer = "Creativity is everything"var developer = "Docs are life"console.log(designer)// ReferenceError: designer is not defined
Funzione con parametri con nome duplicato in modalità non strict
In JavaScript normale, possiamo ripetere i nomi degli argomenti nelle funzioni. L’occorrenza successiva di questi argomenti sovrascriverà i precedenti.
function logItems( y, y ) { console.log(y) console.log(y)}logItems(44,22)// 22// 22
Funzione con parametri dal nome duplicato in modalità strict
La funzione non sarà stabilita se ha parametri dallo stesso nome.
"use strict"function logItems( y, y ) { console.log(y) console.log(y)}// SyntaxError: Duplicate// parameter name not// allowed in this context
Elimina operatore in modalità strict
Impedisce di eliminare funzione, variabili e parametri di funzione.
1
"use strict"const x= 4;delete x// SyntaxError: Delete of an// unqualified identifier in// strict mode.
2
"use strict"function LOG() { console.log("Log")}delete LOG// SyntaxError: Delete// of an unqualified// identifier in strict mode.
L’operatore delete di per sé è usato per rimuovere una proprietà su un oggetto non le variabili, funzioni, ecc.
Gli errori silenziosi vengono lanciati in modalità strict
Vedremo due esempi…
(Primo)
var user = { name: "Rahul", age: "16", }console.log(user)// { name: 'Rahul', age: '16' }Object.defineProperty(user, "gender", { value: "Male", enumerable: true, writable: false, configurable: false})delete user.gender// No error in consoleconsole.log(user)//{ name: 'Rahul', age: '16', gender: 'Male' }
(SECONDO)
"user strict"var user = { name: "Rahul", age: "16", }console.log(user)// //{ name: 'Rahul', age: '16' }Object.defineProperty(user, "gender", { value: "Male", enumerable: true, writable: false, configurable: false})delete user.gender// No error in consoledelete user.gender// TypeError: Cannot delete property 'gender' of #Object
Come controllare se sei in modalità rigorosa?
"use strict"var isStrict = (function() { return !this; })(); console.log(isStrict)// true
var isStrict = (function() { return !this; })(); console.log(isStrict)// false
Bisogno di aiuto
Ho bisogno di aiuto per raccogliere fondi per comprare una tastiera meccanica. Questa pandemia ha colpito gravemente la mia famiglia, quindi non posso chiedere a mio padre. Per favore aiutatemi.
Grazie per aver letto | ⚡ Felice apprendimento e codifica