جاوا سکریپت لیٹ
- ਪਿਛਲਾ ਪੰਨਾ JS ਵੇਰਿਆਬਲ
- ਅਗਲਾ ਪੰਨਾ JS Const
ECMAScript 2015
ES2015 引入了两个重要的 JavaScript 新关键词:let
اور const
.
ਇਹ ਦੋ ਕੀਤੀਆਂ ਕੀਤੀਆਂ ਕੀਤੀਆਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਬਲਾਕ ਖੇਤਰ ਪ੍ਰਦਾਨ ਕਰਦੀਆਂ ਹਨ (ਬਲਾਕ ਖੇਤਰਵਰਗਾਂ (ਅਤੇ ਸਥਾਈ ਮੁੱਲਾਂ)。
ES2015 ਤੋਂ ਪਹਿਲਾਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਕੇਵਲ ਦੋ ਪ੍ਰਕਾਰ ਦੇ ਖੇਤਰ ਹਨ:عالمی کچھوٹاورفنکشن کچھوٹ.
عالمی کچھوٹ
ਗਲੋਬਲਫੰਕਸ਼ਨ ਬਾਹਰ ਨਿਰਧਾਰਿਤ ਮੁੱਲ ਵਰਗਾਂ ਨੂੰعالمی کچھوٹ.
ਇੰਸਟੈਂਸ
var carName = "porsche"; // ਇੱਥੇ ਦੇ ਕੋਡ ਵਿੱਚ carName ਦਾ ਵਰਤੋਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ function myFunction() { // ਇੱਥੇ ਦੇ ਕੋਡ ਵਿੱਚ ਵੀ carName ਦਾ ਵਰਤੋਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ }
ਗਲੋਬਲਮੁੱਲ ਵਰਗਾਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਪ੍ਰੋਗਰਾਮ ਦੇ ਕਿਸੇ ਸਥਾਨ ਤੋਂ ਪਹੁੰਚਯੋਗ ਹਨ
فنکشن کچھوٹ
ਸਥਾਨਕਫੰਕਸ਼ਨ ਅੰਦਰ ਨਿਰਧਾਰਿਤ ਮੁੱਲ ਵਰਗਾਂ ਨੂੰفنکشن کچھوٹ.
ਇੰਸਟੈਂਸ
// ਇੱਥੇ ਦੇ ਕੋਡ ਵਿੱਚ carName ਦਾ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ function myFunction() { var carName = "porsche"; // code here CAN use carName } // ਇੱਥੇ ਦੇ ਕੋਡ ਵਿੱਚ carName ਦਾ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ
ਸਥਾਨਕਮੁੱਲ ਵਰਗਾਂ ਕੇਵਲ ਉਨ੍ਹਾਂ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਪਹੁੰਚਯੋਗ ਹਨ ਜਿਸ ਵਿੱਚ ਉਹ ਨਿਰਧਾਰਿਤ ਹੋਏ ਹਨ
ਜਾਵਾਸਕ੍ਰਿਪਟ ਬਲਾਕ ਖੇਤਰ
ਦੁਆਰਾ var
ਕੀਤੀਆਂ ਕੀਤੀਆਂ ਐਲੀਮੈਂਟਸ ਦੇ ਬਲਾਕ ਨਹੀਂ ਹਨਖੇਤਰ.
ਬਲਾਕ ਵਿੱਚ {} ਬਲਾਕ ਵਿੱਚ ਨਿਰਧਾਰਿਤ ਮੁੱਲ ਵਰਗਾਂ ਨੂੰ ਬਲਾਕ ਬਾਹਰ ਤੋਂ ਪਹੁੰਚਣਾ ਸਮਰੱਥਨ ਹੈ。
ਇੰਸਟੈਂਸ
{ var x = 10; } // ਇੱਥੇ x ਦਾ ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਸਕਦੀ
ES2015 ਤੋਂ ਪਹਿਲਾਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਬਲਾਕ ਅਧਾਰਤ ਖੇਤਰ ਨਹੀਂ ਸੀ
ਵਰਤੋਂ let
ਕੀਤੀਆਂ ਕੀਤੀਆਂ ਐਲੀਮੈਂਟਸ ਨੂੰ ਬਲਾਕ ਅਧਾਰਤ ਖੇਤਰ ਦੇ ਮੁੱਲ ਵਰਗਾਂ ਵਜੋਂ ਨਿਰਧਾਰਿਤ ਕਰਦੀ ਹੈ。
ਬਲਾਕ ਵਿੱਚ {} ਬਲਾਕ ਵਿੱਚ ਨਿਰਧਾਰਿਤ ਮੁੱਲ ਵਰਗਾਂ ਨੂੰ ਬਲਾਕ ਬਾਹਰ ਤੋਂ ਪਹੁੰਚਣਾ ਨਹੀਂ ਸਮਰੱਥਨ ਹੈ:
ਇੰਸਟੈਂਸ
{ let x = 10; } // ਇੱਥੇ x ਦਾ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ
ਮੁੜ ਨਿਰਧਾਰਣ ਮੁੱਲ ਵਰਗਾਂ
ਵਰਤੋਂ var
ਕੀਤੀਆਂ ਕੀਤੀਆਂ ਮੁੱਲ ਵਰਗਾਂ ਦੀ ਮੁੜ ਨਿਰਧਾਰਣ ਸਮੱਸਿਆ ਪੈਦਾ ਕਰਦੀ ਹੈ。
ਬਲਾਕ ਵਿੱਚ ਮੁੱਲ ਵਰਗਾਂ ਦੀ ਮੁੜ ਨਿਰਧਾਰਣ ਬਲਾਕ ਬਾਹਰ ਦੇ ਮੁੱਲ ਵਰਗਾਂ ਨੂੰ ਮੁੜ ਨਿਰਧਾਰਣ ਕਰਦੀ ਹੈ:
ਇੰਸਟੈਂਸ
var x = 10; // ਇੱਥੇ x ਦਾ ਮੁੱਲ 10 ਹੈ { var x = 6; // ਇੱਥੇ x ਦਾ ਮੁੱਲ 6 ਹੈ } // ਇੱਥੇ x ਦਾ ਮੁੱਲ 6 ਹੈ
ਵਰਤੋਂ let
ਕੀਤੀਆਂ ਕੀਤੀਆਂ ਮੁੱਲ ਵਰਗਾਂ ਦੀ ਮੁੜ ਨਿਰਧਾਰਣ ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰ ਸਕਦੀ ਹੈ。
ਬਲਾਕ ਵਿੱਚ ਮੁੱਲ ਵਰਗਾਂ ਦੀ ਮੁੜ ਨਿਰਧਾਰਣ ਨਹੀਂ ਕਰਦੀ ਬਲਾਕ ਬਾਹਰ ਦੇ ਮੁੱਲ ਵਰਗਾਂ ਨੂੰ ਮੁੜ ਨਿਰਧਾਰਣ ਨਹੀਂ ਕਰਦੀ:
ਇੰਸਟੈਂਸ
var x = 10; // ਇੱਥੇ x ਦਾ ਮੁੱਲ 10 ਹੈ { let x = 6; // ਇੱਥੇ x ਦਾ ਮੁੱਲ 6 ਹੈ } // ਇੱਥੇ x ਦਾ ਮੁੱਲ 10 ਹੈ
ਬਰਾਊਜ਼ਰ ਸਮਰਥਨ
ਇੰਟਰਨੈੱਟ ਐਕਸਪਲੋਰਰ 11 ਜਾਂ ਪੁਰਾਣੀਆਂ ਵਰਜਨਾਵਾਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਮਰਥਨ ਨਹੀਂ ਦਿੰਦੀਆਂ let
ਕੀਤੀਆਂ ਕੀਤੀਆਂ:
ਹੇਠਲੇ ਸਾਰੇ ਪੱਧਰ ਵਿੱਚ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਮਰਥਿਤ let
ਕੀਤੀਆਂ ਕੀਤੀਆਂ ਬਰਾਊਜ਼ਰ ਵਰਜਨਾਵਾਂ:
ਚਰੋਮ 49 | آئی ای 12 / ایج | فائر فاکس 44 | سافری 11 | آپرا 36 |
2016 مارچ | 2015 جولائی | 2015 جنوری | 2017 ستمبر | 2016 مارچ |
لائن کچھوٹ
لائن میں استعمال کریں var
:
ਇੰਸਟੈਂਸ
var i = 7; for (var i = 0; i < 10; i++) { // کچھ بات } // یہاں، i 10 ہوگا
لائن میں استعمال کریں let
:
ਇੰਸਟੈਂਸ
let i = 7; for (let i = 0; i < 10; i++) { // کچھ بات } // یہاں i 7 ہوگا
پہلے مثال میں، لائن میں استعمال کردہ متغیر var
بلاک کے باہر متغیر کو دوبارہ ناگنجار کردا گیا
دوسرے مثال میں، لائن میں استعمال کردہ متغیر let
بلاک کے باہر متغیر کو دوبارہ نہیں ناگنجار کردا گیا
اگر لائن میں استعمال کردیں تو let
متغیر i کو اعلان کردیا گیا، تو صرف لائن میں متغیر i دیکھا جا سکتا ہے جو کیں
فنکشن کچھوٹ
فنکشن میں متغیرات کا اعلان کردیں تو، استعمال کریں var
اور let
بھی مماثل ہیں。
وہ دونوںفنکشن کچھوٹ:
function myFunction() { var carName = "porsche"; // فنکشن کچھوٹ } function myFunction() { let carName = "porsche"; // فنکشن کچھوٹ }
عالمی کچھوٹ
اگر بلاک کے باہر اعلان کردیں تو var
اور let
بھی مماثل ہیں。
وہ دونوںعالمی کچھوٹ:
var x = 10; // عالمی کچھوٹ let y = 6; // عالمی کچھوٹ
HTML میں عالمی متغیرات
JavaScript کے استعمال میں، عالمی کچھوٹ JavaScript ماحول ہے。
HTML میں، عالمی کچھوٹ window شیئٹ ہے。
ਦੁਆਰਾ var
کلمات کلیدی کے ذریعہ تعریف کردہ عالمی متغیرات window شیئٹ میں ملتی ہیں:
ਇੰਸਟੈਂਸ
var carName = "porsche"; // اس کے کوڈ میں window.carName استعمال کریں
ਦੁਆਰਾ let
کلمات کلیدی کے ذریعہ تعریف کردہ عالمی متغیرات window شیئٹ نہیں ملتی ہیں:
ਇੰਸਟੈਂਸ
let carName = "porsche"; // اس کے کوڈ میں window.carName استعمال نہیں کریں
دوبارہ نامزد کریں
برنامه کے کسی بھی مقام پر استعمال کی اجازت ہے var
JavaScript متغیر دوبارہ نامزد کریں:
ਇੰਸਟੈਂਸ
var x = 10; // اب، x 10 ہوگا var x = 6; // اب، x 6 ہوگا
ਸਮਾਨ ਉਦੇਸ਼ ਵਿੱਚ ਜਾਂ ਸਮਾਨ ਬਲਕ ਵਿੱਚ ਦੁਆਰਾ let
ਮੁੜ ਐਲਾਨ ਇੱਕ var
ਵੇਰਿਆਬਲ ਮੁੜ ਐਲਾਨ ਪ੍ਰਵਾਨ ਨਹੀਂ ਹੈ:
ਇੰਸਟੈਂਸ
var x = 10; // اجاز دیکھا جا let x = 6; // ناگنجار { var x = 10; // اجاز دیکھا جا let x = 6; // ناگنجار }
ਸਮਾਨ ਉਦੇਸ਼ ਵਿੱਚ ਜਾਂ ਸਮਾਨ ਬਲਕ ਵਿੱਚ ਦੁਆਰਾ let
ਮੁੜ ਐਲਾਨ ਇੱਕ let
ਵੇਰਿਆਬਲ ਮੁੜ ਐਲਾਨ ਪ੍ਰਵਾਨ ਨਹੀਂ ਹੈ:
ਇੰਸਟੈਂਸ
let x = 10; // ਪ੍ਰਵਾਨ let x = 6; // ناگنجار { let x = 10; // ਪ੍ਰਵਾਨ let x = 6; // ناگنجار }
ਸਮਾਨ ਉਦੇਸ਼ ਵਿੱਚ ਜਾਂ ਸਮਾਨ ਬਲਕ ਵਿੱਚ ਦੁਆਰਾ var
ਮੁੜ ਐਲਾਨ ਇੱਕ let
ਵੇਰਿਆਬਲ ਮੁੜ ਐਲਾਨ ਪ੍ਰਵਾਨ ਨਹੀਂ ਹੈ:
ਇੰਸਟੈਂਸ
let x = 10; // ਪ੍ਰਵਾਨ var x = 6; // ਅਪ੍ਰਵਾਨ { let x = 10; // ਪ੍ਰਵਾਨ var x = 6; // ਅਪ੍ਰਵਾਨ }
ਵੱਖਰੇ ਉਦੇਸ਼ ਜਾਂ ਬਲਕ ਵਿੱਚ ਦੁਆਰਾ let
ਵੇਰਿਆਬਲ ਮੁੜ ਐਲਾਨ ਪ੍ਰਵਾਨ ਹੈ:
ਇੰਸਟੈਂਸ
let x = 6; // ਪ੍ਰਵਾਨ { let x = 7; // ਪ੍ਰਵਾਨ } { let x = 8; // ਪ੍ਰਵਾਨ }
ਉੱਚਾਰਣ
ਦੁਆਰਾ var
ਐਲਾਨ ਕੀਤੀ ਗਈ ਵੇਰਿਆਬਲਉੱਚਾਰਣਉੱਚਾ ਹੁੰਦੇ ਹਨ।ਜੇਕਰ ਤੁਸੀਂ ਉੱਚਾਰਣ (Hoisting) ਨੂੰ ਨਹੀਂ ਜਾਣਦੇ ਹੋ, ਤਾਂ ਸਾਡੇ Hoisting ਚਾਪਟਰ ਨੂੰ ਪੜ੍ਹੋ。
ਤੁਸੀਂ ਵੇਰਿਆਬਲ ਐਲਾਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਦਾ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ:
ਇੰਸਟੈਂਸ
// ਇੱਥੇ, ਤੁਸੀਂ carName ਦਾ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ var carName;
ਦੁਆਰਾ let
ਐਲਾਨ ਕੀਤੀ ਗਈ ਵੇਰਿਆਬਲ ਨਹੀਂ ਉੱਚ ਤੱਕ ਉੱਚਾ ਹੁੰਦੀ ਹੈ。
ਐਲਾਨ ਵਿੱਚ let
ਵੇਰਿਆਬਲ ਦੀ ਪਹਿਲਾਂ ਤੋਂ ਵਰਤੋਂ ਕਰਨ ਨਾਲ ReferenceError ਹੁੰਦਾ ਹੈ。
ਵੇਰਿਆਬਲ ਬਲਕ ਦੇ ਸ਼ੁਰੂ ਤੋਂ ਹੀ "ਤਾਜ਼ਾ ਮੌਤ" ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ, ਜਦੋਂ ਤੱਕ ਇਸ ਦਾ ਐਲਾਨ ਨਹੀਂ ਹੁੰਦਾ
ਇੰਸਟੈਂਸ
// ਇੱਥੇ, ਤੁਸੀਂ carName ਦਾ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਸਕਦੇ let carName;
- ਪਿਛਲਾ ਪੰਨਾ JS ਵੇਰਿਆਬਲ
- ਅਗਲਾ ਪੰਨਾ JS Const