JavaScript ਹਾਊਸਿੰਗ
- ਪਿਛਲਾ ਪੰਨਾ JS ਦਾ ਦਾਇਰਾ
- ਅਗਲਾ ਪੰਨਾ JS ਸਖਤ ਮੋਡ
ਉੱਚਾ ਕਰਨਾ (Hoisting) ਹੈ JavaScript ਜੋ ਐਲਾਨ ਨੂੰ ਉੱਚੇ ਤੱਕ ਲੈ ਆਉਂਦਾ ਹੈ (ਉੱਚਾ ਕਰਦਾ ਹੈ)。
JavaScript ਐਲਾਨ ਉੱਚਾ ਕਰਦਾ ਹੈ
JavaScript ਵਿੱਚ, ਵੈਰੀਬਲ ਦਾ ਉਪਯੋਗ ਕਰਨ ਤੋਂ ਬਾਅਦ ਇਸ ਨੂੰ ਐਲਾਨ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ。
ਫਿਰ ਵੀ, ਐਲਾਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਦਾ ਉਪਯੋਗ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ。
ਉਦਾਹਰਣ 1 ਨਾਲਉਦਾਹਰਣ 2 ਨਤੀਜੇ ਇੱਕ ਹੀ ਹਨ:
ਉਦਾਹਰਣ 1
x = 5; // 5 ਨੂੰ x ਵਿੱਚ ਦਿੱਤਾ elem = document.getElementById("demo"); // ਇਲੀਮੈਂਟ ਲੱਭੋ elem.innerHTML = x; // x ਨੂੰ ਅੰਦਰੂਨੀ ਤੱਕ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੋ var x; // x ਨੂੰ ਐਲਾਨ ਕਰੋ
ਉਦਾਹਰਣ 2
var x; // x ਨੂੰ ਐਲਾਨ ਕਰੋ x = 5; // 5 ਨੂੰ x ਵਿੱਚ ਦਿੱਤਾ elem = document.getElementById("demo"); // ਇਲੀਮੈਂਟ ਲੱਭੋ elem.innerHTML = x; // x ਨੂੰ ਅੰਦਰੂਨੀ ਤੱਕ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੋ
ਇਸ ਨੂੰ ਸਮਝਣ ਲਈ, ਤੁਸੀਂ "hoisting" ਸ਼ਬਦ ਨੂੰ ਸਮਝਣਾ ਚਾਹੀਦਾ ਹੈ。
Hoisting ਹੈ JavaScript ਜੋ ਸਾਰੇ ਐਲਾਨ ਨੂੰ ਮੌਜੂਦਾ ਸਕੋਪ ਦੇ ਉੱਚੇ ਤੱਕ ਉੱਠਾ ਲੈਂਦਾ ਹੈ (ਉੱਚਾ ਕਰਦਾ ਹੈ ਮੌਜੂਦਾ ਸਕ੍ਰਿਪਟ ਜਾਂ ਮੌਜੂਦਾ ਫੰਕਸਨ ਦੇ ਉੱਚੇ ਤੱਕ)。
let ਅਤੇ const ਕੀਵਾਰਡ
ਵਰਤੋਂ let
ਜਾਂ const
ਐਲਾਨ ਕੀਤੀ ਗਈ ਵੈਰੀਬਲ ਅਤੇ ਸਥਾਈ ਉੱਚਾ ਕਰਨਾ ਨਹੀਂ ਹੁੰਦਾ!
JavaScript ਨੂੰ ਮੁੱਢਲਾ ਉੱਚਾ ਕਰਨਾ ਨਹੀਂ ਹੁੰਦਾ
JavaScript ਸਿਰਫ ਐਲਾਨ ਨੂੰ ਉੱਚਾ ਕਰਦਾ ਹੈ, ਨਹੀਂ ਸੀ ਮੁੱਢਲਾ。
ਉਦਾਹਰਣ 1 ਨਾਲਉਦਾਹਰਣ 2 ਨਤੀਜੇ ਵਿੱਚ ਅਲੱਗ ਹਨ:
ਉਦਾਹਰਣ 1
var x = 5; // x ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਮੁੱਲ ਦਿੱਤਾ ਜਾਵੇਗਾ var y = 7; // y ਨੂੰ ਮੁੱਢਲਾ elem = document.getElementById("demo"); // ਇਲੀਮੈਂਟ ਲੱਭੋ elem.innerHTML = x + " " + y; // x ਅਤੇ y ਨੂੰ ਦਿਖਾਓ
ਉਦਾਹਰਣ 2
var x = 5; // x ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਮੁੱਲ ਦਿੱਤਾ ਜਾਵੇਗਾ elem = document.getElementById("demo"); // ਇਲੀਮੈਂਟ ਲੱਭੋ elem.innerHTML = x + " " + y; // x ਅਤੇ y ਨੂੰ ਦਿਖਾਓ var y = 7; // y ਨੂੰ ਮੁੱਢਲਾ
ਆਖਰੀ ਉਦਾਹਰਣ ਵਿੱਚ y ਅਜੇ ਤੱਕ ਅਣਪਰਿਭਾਸ਼ਿਤ ਹੈ, ਇਹ ਸਮਝਦਾ ਹੈ ਕਿ?
ਇਹ ਇਸ ਲਈ ਹੈ ਕਿ ਕੇਵਲ ਐਲਾਨ (var y) ਨਹੀਂ ਸੀ ਮੁੱਢਲਾ (=7) ਉੱਚੇ ਤੱਕ ਉੱਠਾਇਆ ਗਿਆ।
hoisting ਕਰਕੇ y ਦੀ ਵਰਤੋਂ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਐਲਾਨ ਕੀਤੀ ਗਈ ਹੈ, ਪਰ ਸ਼ੁਰੂਆਤੀ ਮੁੱਲ ਨੂੰ ਉੱਚਾ ਕੀਤੇ ਜਾਣ ਨਾਲ y ਦਾ ਮੁੱਲ ਅਜਿਹਾ ਨਹੀਂ ਹੈ।
ਉਦਾਹਰਣ 2 ਵੀ ਅਜਿਹਾ ਹੈ:
ਉਦਾਹਰਣ
var x = 5; // x ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਮੁੱਲ ਦਿੱਤਾ ਜਾਵੇਗਾ var y; // y ਨੂੰ ਐਲਾਨ ਕਰੋ elem = document.getElementById("demo"); // ਇਲੀਮੈਂਟ ਲੱਭੋ elem.innerHTML = x + " " + y; // x ਅਤੇ y ਨੂੰ ਦਿਖਾਓ y = 7; // 7 ਨੂੰ y ਵਿੱਚ ਦਿੱਤਾ ਜਾਵੇਗਾ
ਆਪਣੀਆਂ ਵਾਰਤਾਵਾਂ ਉੱਪਰ ਤੋਂ ਐਲਾਨ ਕਰੋ!
Hoisting (ਕਈ developer ਲਈ) JavaScript ਦਾ ਅਣਜਾਣਿਆ ਜਾਂ ਅਣਦੇਖਿਆ ਵਿਵਹਾਰ ਹੈ。
developer hoisting ਨੂੰ ਨਹੀਂ ਸਮਝਦੇ ਹੋਏ ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ bug (ਗਲਤੀ) ਹੋ ਸਕਦੇ ਹਨ。
bug ਨੂੰ ਰੋਕਣ ਲਈ ਹਰ ਦਾਇਰੇ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਸਾਰੀਆਂ ਵਾਰਤਾਵਾਂ ਦਾ ਐਲਾਨ ਕਰੋ。
ਇਹ ਇਹੀ ਹੈ ਜਿਸ ਤਰ੍ਹਾਂ JavaScript ਕੋਡ ਵਿੱਚ ਸਮਝਣ ਜਾਂਦਾ ਹੈ, ਇਸ ਚੰਗੀ ਆਦਤ ਬਣਾਓ。
strict mode ਵਿੱਚ JavaScript ਅਣਸ਼ਾਰਟ ਵਾਰਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦਾ。
ਅਗਲੇ ਚਾਪਟਰ ਵਿੱਚ ਸਿੱਖੋuse strict。”
- ਪਿਛਲਾ ਪੰਨਾ JS ਦਾ ਦਾਇਰਾ
- ਅਗਲਾ ਪੰਨਾ JS ਸਖਤ ਮੋਡ