ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਸਖਤ ਮੋਡ ਕੀ ਹੈ?
ਇਹ ਸਖਤ ਸੰਦਰਭ ਕੁਝ ਕਾਰਵਾਈਆਂ ਨੂੰ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ ਅਤੇ ਹੋਰ ਅਪਵਾਦਾਂ ਨੂੰ ਸੁੱਟਦਾ ਹੈ. ਬਿਆਨ ਸਖਤ ਵਰਤਦਾ ਹੈ; ਬ੍ਰਾਉਜ਼ਰ ਨੂੰ ਸਖਤ ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਹਿਦਾਇਤ ਦਿੰਦਾ ਹੈ, ਜੋ ਕਿ ਇੱਕ ਘੱਟ ਅਤੇ ਸੁਰੱਖਿਅਤ ਵਿਸ਼ੇਸ਼ਤਾ ਸਮੂਹ ਹੈ ਜਾਵਾ ਸਕ੍ਰਿਪਟ .
'ਸਖਤ ਵਰਤੋਂ' ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਲਾਭ
ਸਖਤ ਮੋਡ ਸਧਾਰਨ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਸ਼ਬਦਾਵਲੀ ਵਿੱਚ ਕਈ ਬਦਲਾਅ ਕਰਦਾ ਹੈ.
- ਸਖਤ ਮੋਡ ਗਲਤੀਆਂ ਸੁੱਟਣ ਲਈ ਕੁਝ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਚੁੱਪ ਗਲਤੀਆਂ ਨੂੰ ਬਦਲ ਕੇ ਉਹਨਾਂ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ.
- ਸਖਤ ਮੋਡ ਉਹਨਾਂ ਗਲਤੀਆਂ ਨੂੰ ਠੀਕ ਕਰਦਾ ਹੈ ਜੋ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਇੰਜਣਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਵਿੱਚ ਮੁਸ਼ਕਲ ਬਣਾਉਂਦੀਆਂ ਹਨ: ਸਖਤ ਮੋਡ ਕੋਡ ਕਈ ਵਾਰ ਉਸੇ ਕੋਡ ਨਾਲੋਂ ਤੇਜ਼ ਚਲਾਉਣ ਲਈ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਜੋ ਸਖਤ ਮੋਡ ਨਹੀਂ ਹੁੰਦਾ.
- ਸਖਤ ਮੋਡ ਕੁਝ ਸੰਟੈਕਸ ਦੇ ਭਵਿੱਖ ਦੇ ਸੰਸਕਰਣਾਂ ਵਿੱਚ ਪਰਿਭਾਸ਼ਤ ਕੀਤੇ ਜਾਣ ਦੀ ਮਨਾਹੀ ਕਰਦਾ ਹੈ ECMAScript .
- ਜਦੋਂ ਤੁਲਨਾਤਮਕ ਤੌਰ ਤੇ ਅਸੁਰੱਖਿਅਤ ਕਾਰਵਾਈਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ (ਜਿਵੇਂ ਕਿ ਗਲੋਬਲ ਵਸਤੂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰਨਾ) ਇਹ ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਦਾ ਜਾਂ ਸੁੱਟ ਦਿੰਦਾ ਹੈ.
- ਇਹ ਉਹਨਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ ਜੋ ਉਲਝਣ ਵਿੱਚ ਜਾਂ ਮਾੜੀ ਸੋਚ ਵਿੱਚ ਹਨ.
- ਸਖਤ ਮੋਡ ਸੁਰੱਖਿਅਤ ਜਾਵਾਸਕ੍ਰਿਪਟ ਲਿਖਣਾ ਸੌਖਾ ਬਣਾਉਂਦਾ ਹੈ.
ਸਖਤ ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ
- ਸਖਤ ਮੋਡ ਦੀ ਵਰਤੋਂ ਦੋ ਤਰੀਕਿਆਂ ਨਾਲ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ - ਪੂਰੀ ਸਕ੍ਰਿਪਟ ਲਈ ਗਲੋਬਲ ਸਕੋਪ ਵਿੱਚ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਵਿਅਕਤੀਗਤ ਫੰਕਸ਼ਨਾਂ ਤੇ ਲਾਗੂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ. ਸਖਤ ਮੋਡ {} ਬ੍ਰੇਸਿਜ਼ ਵਿੱਚ ਬੰਦ ਬਲਾਕ ਸਟੇਟਮੈਂਟਸ ਦੇ ਨਾਲ ਕੰਮ ਨਹੀਂ ਕਰਦਾ.
ਪੂਰੀ ਸਕ੍ਰਿਪਟ ਲਈ ਸਖਤ ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
- ਪੂਰੀ ਸਕ੍ਰਿਪਟ ਲਈ ਸਖਤ ਮੋਡ ਦੀ ਮੰਗ ਕਰਨ ਲਈ, ਸਟੀਕ ਸਟੇਟਮੈਂਟ ਦੀ ਸਖਤ ਵਰਤੋਂ ਕਰੋ; (ਜਾਂ 'ਸਖਤੀ ਵਰਤੋ';) ਕਿਸੇ ਹੋਰ ਬਿਆਨ ਤੋਂ ਪਹਿਲਾਂ.
// Whole-script strict mode syntax 'use strict'; let v = 'strict mode script!';
ਨੋਟ: ਇਸ ਸੰਟੈਕਸ ਦਾ ਇੱਕ ਪ੍ਰਵਾਹ ਹੈ: ਗੈਰ-ਵਿਵਾਦਪੂਰਨ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਅੰਨ੍ਹੇਵਾਹ ਜੋੜਨਾ ਸੰਭਵ ਨਹੀਂ ਹੈ. ਇੱਕ ਸਖਤ ਮੋਡ ਸਕ੍ਰਿਪਟ ਨੂੰ ਇੱਕ ਗੈਰ-ਸਖਤ ਮੋਡ ਸਕ੍ਰਿਪਟ ਨਾਲ ਜੋੜਨ 'ਤੇ ਵਿਚਾਰ ਕਰੋ: ਸਮੁੱਚਾ ਜੋੜ ਸਖਤ ਲਗਦਾ ਹੈ! ਉਲਟਾ ਇਹ ਵੀ ਸੱਚ ਹੈ: ਗੈਰ-ਸਖਤ ਅਤੇ ਸਖਤ ਸਖਤ ਗੈਰ-ਸਖਤ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ. ਸਖਤ ਮੋਡ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਇਕ ਦੂਜੇ ਨਾਲ ਜੋੜਨਾ ਠੀਕ ਹੈ, ਅਤੇ ਗੈਰ-ਸਖਤ ਮੋਡ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਜੋੜਨਾ ਠੀਕ ਹੈ. ਸਿਰਫ ਸਖਤ ਅਤੇ ਗੈਰ-ਸਖਤ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਜੋੜਨਾ ਮੁਸ਼ਕਲ ਹੈ. ਇਸ ਤਰ੍ਹਾਂ ਇਹ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਤੁਸੀਂ ਫੰਕਸ਼ਨ-ਦਰ-ਫੰਕਸ਼ਨ ਦੇ ਅਧਾਰ ਤੇ ਸਖਤ ਮੋਡ ਨੂੰ ਸਮਰੱਥ ਕਰੋ (ਘੱਟੋ ਘੱਟ ਪਰਿਵਰਤਨ ਅਵਧੀ ਦੇ ਦੌਰਾਨ).
ਪੂਰੀ ਸਕ੍ਰਿਪਟ ਲਈ ਸਖਤ ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਇਸੇ ਤਰ੍ਹਾਂ, ਕਿਸੇ ਫੰਕਸ਼ਨ ਲਈ ਸਖਤ ਮੋਡ ਦੀ ਮੰਗ ਕਰਨ ਲਈ, ਸਟੀਕ ਸਟੇਟਮੈਂਟ ਦੀ ਸਖਤ ਵਰਤੋਂ ਕਰੋ; (ਜਾਂ 'ਸਖਤੀ ਵਰਤੋ';) ਕਿਸੇ ਹੋਰ ਬਿਆਨ ਤੋਂ ਪਹਿਲਾਂ ਫੰਕਸ਼ਨ ਦੇ ਸਰੀਰ ਵਿੱਚ.
function strict() {// Function-level strict mode syntax
‘use strict’;function nested() { return ‘Javascript on GeeksforGeeks’; }
return 'strict mode function! ' + nested();
}
function notStrict() { return non strict function; }
ਸਖਤ ਮੋਡ ਦੀ ਵਰਤੋਂ ਦੀਆਂ ਉਦਾਹਰਣਾਂ
ਸਧਾਰਨ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਇੱਕ ਵੇਰੀਏਬਲ ਨਾਮ ਗਲਤ ਟਾਈਪ ਕਰਨਾ ਇੱਕ ਨਵਾਂ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਬਣਾਉਂਦਾ ਹੈ. ਸਖਤ ਮੋਡ ਵਿੱਚ, ਇਹ ਇੱਕ ਗਲਤੀ ਲਿਆਏਗਾ, ਜਿਸ ਨਾਲ ਗਲਤੀ ਨਾਲ ਇੱਕ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਬਣਾਉਣਾ ਅਸੰਭਵ ਹੋ ਜਾਵੇਗਾ
ਸਖਤ ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ, ਬਿਨਾਂ ਕਿਸੇ ਘੋਸ਼ਣਾ ਦੇ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਆਗਿਆ ਨਾ ਦਿਓ
// ਬਿਨਾਂ ਕਿਸੇ ਘੋਸ਼ਣਾ ਦੇ, ਇੱਕ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ:
‘use strict’;
x = 3.14; // will throw an error
ਆਉਟਪੁੱਟ:
// Objects are variables too.
// Using an object, without declaring it, is not allowed:
‘use script’;
x = {p1:10, p2:20}; // will throw an error
ਆਉਟਪੁੱਟ:
ਇੱਕ ਵੇਰੀਏਬਲ (ਜਾਂ ਵਸਤੂ) ਅਤੇ ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ
‘use strict’;
let x = 3.14;
// Deleting a function is also not allowed
‘use strict’;
function x(p1, p2) {};
delete x; // will throw an error
ਆਉਟਪੁੱਟ:
ਪੈਰਾਮੀਟਰ ਨਾਂ ਦੀ ਨਕਲ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ
‘use strict’;
function x(p1, p1) {}; // will throw an error
ਆਉਟਪੁੱਟ:
ਅਸ਼ਟਿਕ ਸੰਖਿਆਤਮਕ ਸ਼ਬਦਾਵਲੀ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ
laravel ਕਲਾਸ 'ਫਾਰਮ' ਨਹੀਂ ਮਿਲਿਆ
‘use strict’;
let x = 010; // will throw an error
ਆਉਟਪੁੱਟ:
ਅੱਖਰਾਂ ਤੋਂ ਬਚਣ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ
‘use strict’;
let x = 10; // will throw an error
ਆਉਟਪੁੱਟ:
ਸਿਰਫ ਪੜ੍ਹਨ ਲਈ ਸੰਪਤੀ ਨੂੰ ਲਿਖਣ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ
‘use strict’;
let obj = {};
Object.defineProperty(obj, x, {value:0, writable:false});
obj.x = 3.14; //will throw an error
ਆਉਟਪੁੱਟ:
ਸਿਰਫ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਸੰਪਤੀ ਨੂੰ ਲਿਖਣ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ
‘use strict’;
let obj = {get x() {return 0} };
obj.x = 3.14; // will throw an error
ਆਉਟਪੁੱਟ:
python ਵਿੱਚ log 10
ਨਾ -ਬਦਲਣਯੋਗ ਸੰਪਤੀ ਨੂੰ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ
‘use strict’;
delete Object.prototype; // will throw an error
ਆਉਟਪੁੱਟ:
ਸਤਰ ਈਵਲ ਨੂੰ ਇੱਕ ਵੇਰੀਏਬਲ ਦੇ ਤੌਰ ਤੇ ਨਹੀਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ
‘use strict’;
let eval = 3.14; // will throw an error
ਆਉਟਪੁੱਟ:
ਸਤਰ ਆਰਗੂਮੈਂਟਸ ਨੂੰ ਵੇਰੀਏਬਲ ਦੇ ਤੌਰ ਤੇ ਨਹੀਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ
‘use strict’;
let arguments = 3.14; // will throw an error
ਆਉਟਪੁੱਟ:
ਬਿਆਨ ਦੇ ਨਾਲ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ
‘use strict’;
with (Math){x = cos(2)}; // will throw an error
ਆਉਟਪੁੱਟ:
ਫੰਕਸ਼ਨ ਕਾਲਾਂ ਜਿਵੇਂ f () ਵਿੱਚ, ਇਹ ਮੁੱਲ ਗਲੋਬਲ ਆਬਜੈਕਟ ਸੀ. ਸਖਤ ਮੋਡ ਵਿੱਚ, ਇਹ ਹੁਣ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ
ਸਧਾਰਨ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਇੱਕ ਡਿਵੈਲਪਰ ਨੂੰ ਗੈਰ-ਲਿਖਣਯੋਗ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਨ ਵਿੱਚ ਕੋਈ ਗਲਤੀ ਪ੍ਰਤੀਕਰਮ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਵੇਗਾ
ਪੜ੍ਹਨ ਲਈ ਧੰਨਵਾਦ ❤
ਜੇ ਤੁਹਾਨੂੰ ਇਹ ਪੋਸਟ ਪਸੰਦ ਆਈ ਹੈ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਇਸਨੂੰ ਆਪਣੇ ਸਾਰੇ ਪ੍ਰੋਗਰਾਮਿੰਗ ਦੋਸਤਾਂ ਨਾਲ ਸਾਂਝਾ/ਪਸੰਦ ਕਰੋ!
ਸਾਡੇ ਨਾਲ ਪਾਲਣਾ ਕਰੋ ਫੇਸਬੁੱਕ | ਟਵਿੱਟਰ
ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਬਾਰੇ ਹੋਰ ਪੜ੍ਹਨਾ
☞ ਸੰਪੂਰਨ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਕੋਰਸ 2019: ਅਸਲ ਪ੍ਰੋਜੈਕਟ ਬਣਾਉ!
☞ ਵਯੂ ਜੇਐਸ 2 - ਸੰਪੂਰਨ ਗਾਈਡ (ਵੀਯੂ ਰਾouterਟਰ ਅਤੇ ਵੁਏਕਸ ਸਮੇਤ)
☞ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਬੂਟਕੈਂਪ - ਰੀਅਲ ਵਰਲਡ ਐਪਲੀਕੇਸ਼ਨਾਂ ਬਣਾਉ
☞ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਪ੍ਰੋਗਰਾਮਿੰਗ ਟਿorialਟੋਰਿਅਲ - ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਲਈ ਪੂਰਾ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਕੋਰਸ
E ਨਵੀਂ ES2019 ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਰ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਡਿਵੈਲਪਰ ਨੂੰ ਪਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ
2019 ਵਿੱਚ ਵਰਤਣ ਲਈ ਸਰਬੋਤਮ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਫਰੇਮਵਰਕਸ, ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਸਾਧਨ
☞ ਉਦਾਹਰਣ ਦੇ ਤੌਰ ਤੇ ਬਨਾਮ ਕੋਣੀ ਬਨਾਮ Vue.js ਪ੍ਰਤੀਕਰਮ
☞ ਮਾਈਕ੍ਰੋਫ੍ਰੌਂਟੈਂਡਸ - ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਫਰੇਮਵਰਕਸ ਨੂੰ ਇਕੱਠੇ ਜੋੜਨਾ (ਪ੍ਰਤੀਕ੍ਰਿਆ, ਕੋਣੀ, ਵਯੂ ਆਦਿ)
☞ Anime.js ਨਾਲ ਵੈਬ ਐਨੀਮੇਸ਼ਨ ਬਣਾਉਣਾ
☞ Ember.js vs Vue.js - ਕਿਹੜਾ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਫਰੇਮਵਰਕ ਤੁਹਾਡੇ ਲਈ ਬਿਹਤਰ ਕੰਮ ਕਰਦਾ ਹੈ
☞ ਕੀ ਸਾਨੂੰ ਅਜੇ ਵੀ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਫਰੇਮਵਰਕਸ ਦੀ ਲੋੜ ਹੈ?
#ਜਾਵਾਸਕ੍ਰਿਪਟ #ਵੈਬ-ਵਿਕਾਸ