JavaScript ਹਾਊਸਿੰਗ

ਉੱਚਾ ਕਰਨਾ (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 ਐਲਾਨ ਕੀਤੀ ਗਈ ਵੈਰੀਬਲ ਅਤੇ ਸਥਾਈ ਉੱਚਾ ਕਰਨਾ ਨਹੀਂ ਹੁੰਦਾ!

ਕਿਰਪਾ ਕਰਕੇ JS 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。”