You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/pa/2-js-basics/2-functions-methods/README.md

23 KiB

ਜਾਵਾਸਕ੍ਰਿਪਟ ਬੇਸਿਕਸ: ਮੈਥਡਸ ਅਤੇ ਫੰਕਸ਼ਨ

JavaScript Basics - Functions

ਸਕੈਚਨੋਟ Tomomi Imura ਦੁਆਰਾ

ਲੈਕਚਰ ਤੋਂ ਪਹਿਲਾਂ ਕਵਿਜ਼

ਲੈਕਚਰ ਤੋਂ ਪਹਿਲਾਂ ਕਵਿਜ਼

ਜਦੋਂ ਅਸੀਂ ਕੋਡ ਲਿਖਣ ਬਾਰੇ ਸੋਚਦੇ ਹਾਂ, ਤਾਂ ਅਸੀਂ ਹਮੇਸ਼ਾ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਸਾਡਾ ਕੋਡ ਪੜ੍ਹਨ ਯੋਗ ਹੋਵੇ। ਹਾਲਾਂਕਿ ਇਹ ਵਿਰੋਧਭਾਸੀ ਲੱਗਦਾ ਹੈ, ਪਰ ਕੋਡ ਨੂੰ ਲਿਖਣ ਨਾਲ ਕਈ ਵਾਰ ਵਧੇਰੇ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ। ਡਿਵੈਲਪਰ ਦੇ ਟੂਲਬਾਕਸ ਵਿੱਚ ਇੱਕ ਮੁੱਖ ਸਾਧਨ ਫੰਕਸ਼ਨ ਹੈ ਜੋ ਕੋਡ ਨੂੰ ਸਥਿਰ ਅਤੇ ਪੜ੍ਹਨ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ।

Methods and Functions

🎥 ਉੱਪਰ ਦਿੱਤੀ ਤਸਵੀਰ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਮੈਥਡਸ ਅਤੇ ਫੰਕਸ਼ਨ ਬਾਰੇ ਵੀਡੀਓ ਦੇਖਣ ਲਈ।

ਤੁਸੀਂ ਇਹ ਪਾਠ Microsoft Learn 'ਤੇ ਲੈ ਸਕਦੇ ਹੋ!

ਫੰਕਸ਼ਨ

ਮੂਲ ਤੌਰ 'ਤੇ, ਇੱਕ ਫੰਕਸ਼ਨ ਕੋਡ ਦਾ ਇੱਕ ਬਲਾਕ ਹੁੰਦਾ ਹੈ ਜਿਸਨੂੰ ਅਸੀਂ ਜਦੋਂ ਚਾਹੀਏ ਤਦ ਚਲਾ ਸਕਦੇ ਹਾਂ। ਇਹ ਉਹਨਾਂ ਸਥਿਤੀਆਂ ਲਈ ਬਹੁਤ ਵਧੀਆ ਹੈ ਜਿੱਥੇ ਸਾਨੂੰ ਇੱਕੋ ਕੰਮ ਕਈ ਵਾਰ ਕਰਨਾ ਪੈਂਦਾ ਹੈ; ਬਜਾਏ ਇਸਦੇ ਕਿ ਲਾਜ਼ਮੀ ਲਾਜ਼ਮੀ ਤੌਰ 'ਤੇ ਹਰ ਜਗ੍ਹਾ ਲਾਜ਼ਮੀਆਂ ਨੂੰ ਦੁਹਰਾਇਆ ਜਾਵੇ (ਜੋ ਅਪਡੇਟ ਕਰਨਾ ਮੁਸ਼ਕਲ ਬਣਾਉਂਦਾ ਹੈ), ਅਸੀਂ ਇਸਨੂੰ ਇੱਕ ਸਥਾਨ 'ਤੇ ਕੇਂਦਰਿਤ ਕਰ ਸਕਦੇ ਹਾਂ ਅਤੇ ਜਦੋਂ ਵੀ ਸਾਨੂੰ ਇਹ ਕੰਮ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇ, ਇਸਨੂੰ ਕਾਲ ਕਰ ਸਕਦੇ ਹਾਂ - ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਨੂੰ ਹੋਰ ਫੰਕਸ਼ਨ ਤੋਂ ਵੀ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ!

ਇਸ ਤੋਂ ਵੀ ਜ਼ਿਆਦਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਫੰਕਸ਼ਨ ਨੂੰ ਨਾਮ ਦੇਣ ਦੀ ਯੋਗਤਾ। ਹਾਲਾਂਕਿ ਇਹ ਛੋਟਾ ਜਿਹਾ ਲੱਗ ਸਕਦਾ ਹੈ, ਪਰ ਨਾਮ ਕੋਡ ਦੇ ਇੱਕ ਹਿੱਸੇ ਨੂੰ ਦਸਤਾਵੇਜ਼ ਕਰਨ ਦਾ ਇੱਕ ਤੇਜ਼ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਇਸਨੂੰ ਬਟਨ 'ਤੇ ਲੇਬਲ ਵਜੋਂ ਸੋਚ ਸਕਦੇ ਹੋ। ਜੇ ਮੈਂ "ਟਾਈਮਰ ਰੱਦ ਕਰੋ" ਪੜ੍ਹਦੇ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਦਾ ਹਾਂ, ਤਾਂ ਮੈਨੂੰ ਪਤਾ ਹੈ ਕਿ ਇਹ ਘੜੀ ਨੂੰ ਚਲਾਉਣਾ ਬੰਦ ਕਰ ਦੇਵੇਗਾ।

ਫੰਕਸ਼ਨ ਬਣਾਉਣਾ ਅਤੇ ਕਾਲ ਕਰਨਾ

ਫੰਕਸ਼ਨ ਲਈ ਸਿੰਟੈਕਸ ਹੇਠ ਲਿਖੇ ਤਰੀਕੇ ਵਰਗਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ:

function nameOfFunction() { // function definition
 // function definition/body
}

ਜੇ ਮੈਂ ਇੱਕ ਫੰਕਸ਼ਨ ਬਣਾਉਣਾ ਚਾਹੁੰਦਾ ਹਾਂ ਜੋ ਇੱਕ ਗ੍ਰੀਟਿੰਗ ਦਿਖਾਏ, ਤਾਂ ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਹੋ ਸਕਦਾ ਹੈ:

function displayGreeting() {
  console.log('Hello, world!');
}

ਜਦੋਂ ਵੀ ਅਸੀਂ ਆਪਣੇ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ (ਜਾਂ ਚਲਾਉਣਾ) ਚਾਹੁੰਦੇ ਹਾਂ, ਅਸੀਂ ਫੰਕਸ਼ਨ ਦੇ ਨਾਮ ਦੇ ਬਾਅਦ () ਵਰਤਦੇ ਹਾਂ। ਇਹ ਗੱਲ ਯਾਦ ਰੱਖਣ ਵਾਲੀ ਹੈ ਕਿ ਸਾਡਾ ਫੰਕਸ਼ਨ ਕਾਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਜਾਂ ਬਾਅਦ ਪਰिभਾਸ਼ਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ; ਜਾਵਾਸਕ੍ਰਿਪਟ ਕੰਪਾਇਲਰ ਇਸਨੂੰ ਤੁਹਾਡੇ ਲਈ ਲੱਭ ਲਵੇਗਾ।

// calling our function
displayGreeting();

NOTE: ਇੱਕ ਵਿਸ਼ੇਸ਼ ਕਿਸਮ ਦਾ ਫੰਕਸ਼ਨ ਹੁੰਦਾ ਹੈ ਜਿਸਨੂੰ ਮੈਥਡ ਕਿਹਾ ਜਾਂਦਾ ਹੈ, ਜੋ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਵਰਤ ਰਹੇ ਹੋ! ਦਰਅਸਲ, ਅਸੀਂ ਇਹ ਆਪਣੇ ਡੈਮੋ ਵਿੱਚ ਵੇਖਿਆ ਜਦੋਂ ਅਸੀਂ console.log ਵਰਤਿਆ। ਜੋ ਮੈਥਡ ਨੂੰ ਫੰਕਸ਼ਨ ਤੋਂ ਵੱਖਰਾ ਬਣਾਉਂਦਾ ਹੈ ਉਹ ਇਹ ਹੈ ਕਿ ਮੈਥਡ ਇੱਕ ਆਬਜੈਕਟ ਨਾਲ ਜੁੜਿਆ ਹੁੰਦਾ ਹੈ (console ਸਾਡੇ ਉਦਾਹਰਨ ਵਿੱਚ), ਜਦੋਂ ਕਿ ਫੰਕਸ਼ਨ ਆਜ਼ਾਦ ਹੁੰਦਾ ਹੈ। ਤੁਸੀਂ ਕਈ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਇਹ ਸ਼ਬਦ ਇੱਕੋ ਜਿਹਾ ਵਰਤਦੇ ਸੁਣੋਗੇ।

ਫੰਕਸ਼ਨ ਲਈ ਵਧੀਆ ਅਭਿਆਸ

ਫੰਕਸ਼ਨ ਬਣਾਉਣ ਸਮੇਂ ਕੁਝ ਵਧੀਆ ਅਭਿਆਸਾਂ ਨੂੰ ਯਾਦ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ:

  • ਹਮੇਸ਼ਾ, ਵੇਰਵਾ ਦੇਣ ਵਾਲੇ ਨਾਮ ਵਰਤੋ ਤਾਂ ਜੋ ਤੁਹਾਨੂੰ ਪਤਾ ਹੋਵੇ ਕਿ ਫੰਕਸ਼ਨ ਕੀ ਕਰੇਗਾ
  • ਸ਼ਬਦਾਂ ਨੂੰ ਜੋੜਨ ਲਈ camelCasing ਵਰਤੋ
  • ਆਪਣੇ ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਖਾਸ ਕੰਮ 'ਤੇ ਕੇਂਦਰਿਤ ਰੱਖੋ

ਫੰਕਸ਼ਨ ਨੂੰ ਜਾਣਕਾਰੀ ਪਾਸ ਕਰਨਾ

ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਹੋਰ ਵਧੀਆ ਬਣਾਉਣ ਲਈ ਤੁਸੀਂ ਅਕਸਰ ਇਸ ਵਿੱਚ ਜਾਣਕਾਰੀ ਪਾਸ ਕਰਨਾ ਚਾਹੋਗੇ। ਜੇ ਅਸੀਂ ਆਪਣੇ displayGreeting ਉਦਾਹਰਨ ਨੂੰ ਮਾਨੀਏ, ਤਾਂ ਇਹ ਸਿਰਫ Hello, world! ਦਿਖਾਏਗਾ। ਇਹ ਸਭ ਤੋਂ ਵਧੀਆ ਫੰਕਸ਼ਨ ਨਹੀਂ ਹੈ ਜੋ ਕੋਈ ਬਣਾਉਂਦਾ। ਜੇ ਅਸੀਂ ਇਸਨੂੰ ਥੋੜਾ ਜਿਹਾ ਵਧੀਆ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ ਕਿਸੇ ਨੂੰ ਗ੍ਰੀਟ ਕਰਨ ਲਈ ਨਾਮ ਦੱਸਣ ਦੀ ਆਗਿਆ ਦੇਣਾ, ਤਾਂ ਅਸੀਂ ਇੱਕ ਪੈਰਾਮੀਟਰ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹਾਂ। ਪੈਰਾਮੀਟਰ (ਜਿਸਨੂੰ ਕਈ ਵਾਰ argument ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ), ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਭੇਜੀ ਗਈ ਵਾਧੂ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ।

ਪੈਰਾਮੀਟਰ ਪਰਿਭਾਸ਼ਾ ਦੇ ਹਿੱਸੇ ਵਿੱਚ ਕੋਮਾਂ ਨਾਲ ਵੱਖਰੇ ਕੀਤੇ ਜਾਂਦੇ ਹਨ:

function name(param, param2, param3) {

}

ਅਸੀਂ ਆਪਣੇ displayGreeting ਨੂੰ ਅਪਡੇਟ ਕਰ ਸਕਦੇ ਹਾਂ ਤਾਂ ਕਿ ਇਹ ਇੱਕ ਨਾਮ ਲੈ ਸਕੇ ਅਤੇ ਉਸਨੂੰ ਦਿਖਾ ਸਕੇ।

function displayGreeting(name) {
  const message = `Hello, ${name}!`;
  console.log(message);
}

ਜਦੋਂ ਅਸੀਂ ਆਪਣੇ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਾਂ ਅਤੇ ਪੈਰਾਮੀਟਰ ਪਾਸ ਕਰਦੇ ਹਾਂ, ਅਸੀਂ ਇਸਨੂੰ ਕੋਸ਼ਠਕ ਵਿੱਚ ਦਰਸਾਉਂਦੇ ਹਾਂ।

displayGreeting('Christopher');
// displays "Hello, Christopher!" when run

ਡਿਫਾਲਟ ਮੁੱਲ

ਅਸੀਂ ਆਪਣੇ ਫੰਕਸ਼ਨ ਨੂੰ ਹੋਰ ਵਧੀਆ ਬਣਾਉਣ ਲਈ ਹੋਰ ਪੈਰਾਮੀਟਰ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹਾਂ। ਪਰ ਜੇ ਅਸੀਂ ਨਹੀਂ ਚਾਹੁੰਦੇ ਕਿ ਹਰ ਮੁੱਲ ਨੂੰ ਦਰਸਾਇਆ ਜਾਵੇ? ਗ੍ਰੀਟਿੰਗ ਦੇ ਉਦਾਹਰਨ ਦੇ ਨਾਲ ਜਾਰੀ ਰੱਖਦੇ ਹੋਏ, ਅਸੀਂ ਨਾਮ ਨੂੰ ਲਾਜ਼ਮੀ ਰੱਖ ਸਕਦੇ ਹਾਂ (ਸਾਨੂੰ ਪਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਅਸੀਂ ਕਿਸਨੂੰ ਗ੍ਰੀਟ ਕਰ ਰਹੇ ਹਾਂ), ਪਰ ਅਸੀਂ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਗ੍ਰੀਟਿੰਗ ਨੂੰ ਜ਼ਰੂਰਤ ਅਨੁਸਾਰ ਕਸਟਮਾਈਜ਼ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋਏ ਇਸਨੂੰ ਡਿਫਾਲਟ ਮੁੱਲ ਦੇਣ। ਇੱਕ ਪੈਰਾਮੀਟਰ ਨੂੰ ਡਿਫਾਲਟ ਮੁੱਲ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ, ਅਸੀਂ ਇਸਨੂੰ ਬਿਲਕੁਲ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਸੈਟ ਕਰਦੇ ਹਾਂ ਜਿਵੇਂ ਅਸੀਂ ਇੱਕ ਵੈਰੀਏਬਲ ਲਈ ਮੁੱਲ ਸੈਟ ਕਰਦੇ ਹਾਂ - parameterName = 'defaultValue'. ਪੂਰੇ ਉਦਾਹਰਨ ਨੂੰ ਵੇਖਣ ਲਈ:

function displayGreeting(name, salutation='Hello') {
  console.log(`${salutation}, ${name}`);
}

ਜਦੋਂ ਅਸੀਂ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਾਂ, ਤਾਂ ਅਸੀਂ ਫੈਸਲਾ ਕਰ ਸਕਦੇ ਹਾਂ ਕਿ ਕੀ ਅਸੀਂ salutation ਲਈ ਮੁੱਲ ਸੈਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ।

displayGreeting('Christopher');
// displays "Hello, Christopher"

displayGreeting('Christopher', 'Hi');
// displays "Hi, Christopher"

ਵਾਪਸੀ ਮੁੱਲ

ਅਜੇ ਤੱਕ ਸਾਡੇ ਦੁਆਰਾ ਬਣਾਇਆ ਗਿਆ ਫੰਕਸ਼ਨ ਹਮੇਸ਼ਾ console ਵਿੱਚ ਆਉਟਪੁੱਟ ਕਰੇਗਾ। ਕਈ ਵਾਰ ਇਹ ਬਿਲਕੁਲ ਉਹੀ ਹੋ ਸਕਦਾ ਹੈ ਜੋ ਅਸੀਂ ਚਾਹੁੰਦੇ ਹਾਂ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਅਸੀਂ ਉਹ ਫੰਕਸ਼ਨ ਬਣਾਉਂਦੇ ਹਾਂ ਜੋ ਹੋਰ ਸੇਵਾਵਾਂ ਨੂੰ ਕਾਲ ਕਰਨ ਵਾਲੇ ਹਨ। ਪਰ ਜੇ ਮੈਂ ਇੱਕ ਸਹਾਇਕ ਫੰਕਸ਼ਨ ਬਣਾਉਣਾ ਚਾਹੁੰਦਾ ਹਾਂ ਜੋ ਇੱਕ ਗਣਨਾ ਕਰੇ ਅਤੇ ਮੁੱਲ ਵਾਪਸ ਦੇਵੇ ਤਾਂ ਕਿ ਮੈਂ ਇਸਨੂੰ ਕਿਤੇ ਹੋਰ ਵਰਤ ਸਕਾਂ?

ਅਸੀਂ ਇਹ ਵਾਪਸੀ ਮੁੱਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਰ ਸਕਦੇ ਹਾਂ। ਇੱਕ ਵਾਪਸੀ ਮੁੱਲ ਫੰਕਸ਼ਨ ਦੁਆਰਾ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਵੈਰੀਏਬਲ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਬਿਲਕੁਲ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਜਿਵੇਂ ਅਸੀਂ ਇੱਕ ਸਟ੍ਰਿੰਗ ਜਾਂ ਨੰਬਰ ਵਰਗੇ ਸਥਿਰ ਮੁੱਲ ਨੂੰ ਸਟੋਰ ਕਰ ਸਕਦੇ ਹਾਂ।

ਜੇਕਰ ਇੱਕ ਫੰਕਸ਼ਨ ਕੁਝ ਵਾਪਸ ਕਰਦਾ ਹੈ ਤਾਂ return ਕੀਵਰਡ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। return ਕੀਵਰਡ ਵਾਪਸ ਕੀਤੇ ਜਾ ਰਹੇ ਮੁੱਲ ਜਾਂ ਰਿਫਰੈਂਸ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ:

return myVariable;

ਅਸੀਂ ਇੱਕ ਫੰਕਸ਼ਨ ਬਣਾਉਣ ਲਈ ਇੱਕ ਗ੍ਰੀਟਿੰਗ ਸੁਨੇਹਾ ਬਣਾਉਣ ਅਤੇ ਮੁੱਲ ਨੂੰ ਕਾਲ ਕਰਨ ਵਾਲੇ ਨੂੰ ਵਾਪਸ ਕਰਨ ਲਈ ਵਰਤ ਸਕਦੇ ਹਾਂ।

function createGreetingMessage(name) {
  const message = `Hello, ${name}`;
  return message;
}

ਜਦੋਂ ਅਸੀਂ ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਾਂ, ਅਸੀਂ ਮੁੱਲ ਨੂੰ ਇੱਕ ਵੈਰੀਏਬਲ ਵਿੱਚ ਸਟੋਰ ਕਰਾਂਗੇ। ਇਹ ਬਿਲਕੁਲ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਹੈ ਜਿਵੇਂ ਅਸੀਂ ਇੱਕ ਸਥਿਰ ਮੁੱਲ ਸੈਟ ਕਰਦੇ ਹਾਂ (ਜਿਵੇਂ const name = 'Christopher').

const greetingMessage = createGreetingMessage('Christopher');

ਫੰਕਸ਼ਨ ਨੂੰ ਫੰਕਸ਼ਨ ਲਈ ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਵਰਤਣਾ

ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਪ੍ਰੋਗਰਾਮਿੰਗ ਕਰੀਅਰ ਵਿੱਚ ਅੱਗੇ ਵਧਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਉਹਨਾਂ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਦੇਖੋਗੇ ਜੋ ਫੰਕਸ਼ਨ ਨੂੰ ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਸਵੀਕਾਰ ਕਰਦੇ ਹਨ। ਇਹ ਸ਼ਾਨਦਾਰ ਤਰੀਕਾ ਆਮ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਸਾਨੂੰ ਪਤਾ ਨਹੀਂ ਹੁੰਦਾ ਕਿ ਕੁਝ ਕਦੋਂ ਹੋਵੇਗਾ ਜਾਂ ਪੂਰਾ ਹੋਵੇਗਾ, ਪਰ ਸਾਨੂੰ ਪਤਾ ਹੈ ਕਿ ਸਾਨੂੰ ਇਸਦੇ ਜਵਾਬ ਵਿੱਚ ਇੱਕ ਕਾਰਵਾਈ ਕਰਨੀ ਹੈ।

ਇੱਕ ਉਦਾਹਰਨ ਦੇ ਤੌਰ 'ਤੇ, setTimeout ਨੂੰ ਮਾਨੋ, ਜੋ ਇੱਕ ਟਾਈਮਰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ ਅਤੇ ਜਦੋਂ ਇਹ ਪੂਰਾ ਹੁੰਦਾ ਹੈ ਤਾਂ ਕੋਡ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ। ਸਾਨੂੰ ਇਸਨੂੰ ਦੱਸਣਾ ਪੈਂਦਾ ਹੈ ਕਿ ਅਸੀਂ ਕਿਹੜਾ ਕੋਡ ਚਲਾਉਣਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਇਹ ਇੱਕ ਫੰਕਸ਼ਨ ਲਈ ਬਿਲਕੁਲ ਸਹੀ ਕੰਮ ਲੱਗਦਾ ਹੈ!

ਜੇ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ 3 ਸਕਿੰਟ ਬਾਅਦ ਤੁਹਾਨੂੰ ਸੁਨੇਹਾ 3 ਸਕਿੰਟ ਹੋ ਗਏ ਹਨ ਦਿਖਾਈ ਦੇਵੇਗਾ।

function displayDone() {
  console.log('3 seconds has elapsed');
}
// timer value is in milliseconds
setTimeout(displayDone, 3000);

ਗੁੰਨਾਮੀ ਫੰਕਸ਼ਨ

ਆਓ ਜੋ ਅਸੀਂ ਬਣਾਇਆ ਹੈ ਉਸਨੂੰ ਦੁਬਾਰਾ ਵੇਖੀਏ। ਅਸੀਂ ਇੱਕ ਨਾਮ ਦੇ ਨਾਲ ਇੱਕ ਫੰਕਸ਼ਨ ਬਣਾਉਂਦੇ ਹਾਂ ਜੋ ਸਿਰਫ ਇੱਕ ਵਾਰ ਵਰਤਿਆ ਜਾਵੇਗਾ। ਜਿਵੇਂ ਜਿਵੇਂ ਸਾਡਾ ਐਪਲੀਕੇਸ਼ਨ ਹੋਰ ਜਟਿਲ ਬਣਦਾ ਹੈ, ਅਸੀਂ ਆਪਣੇ ਆਪ ਨੂੰ ਕਈ ਫੰਕਸ਼ਨ ਬਣਾਉਂਦੇ ਹੋਏ ਦੇਖ ਸਕਦੇ ਹਾਂ ਜੋ ਸਿਰਫ ਇੱਕ ਵਾਰ ਕਾਲ ਕੀਤੇ ਜਾਣਗੇ। ਇਹ ਆਦਰਸ਼ ਨਹੀਂ ਹੈ। ਜਿਵੇਂ ਕਿ ਪਤਾ ਲੱਗਦਾ ਹੈ, ਸਾਨੂੰ ਹਮੇਸ਼ਾ ਇੱਕ ਨਾਮ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ!

ਜਦੋਂ ਅਸੀਂ ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਪਾਸ ਕਰ ਰਹੇ ਹਾਂ, ਅਸੀਂ ਪਹਿਲਾਂ ਇੱਕ ਬਣਾਉਣ ਨੂੰ ਬਾਈਪਾਸ ਕਰ ਸਕਦੇ ਹਾਂ ਅਤੇ ਇਸਦੇ ਬਦਲੇ ਵਿੱਚ ਇਸਨੂੰ ਪੈਰਾਮੀਟਰ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਬਣਾਉਣ ਲਈ। ਅਸੀਂ ਉਹੀ function ਕੀਵਰਡ ਵਰਤਦੇ ਹਾਂ, ਪਰ ਇਸਦੇ ਬਦਲੇ ਵਿੱਚ ਅਸੀਂ ਇਸਨੂੰ ਇੱਕ ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਬਣਾਉਂਦੇ ਹਾਂ।

ਆਓ ਉੱਪਰ ਦਿੱਤੇ ਕੋਡ ਨੂੰ ਗੁੰਨਾਮੀ ਫੰਕਸ਼ਨ ਵਰਤ ਕੇ ਦੁਬਾਰਾ ਲਿਖੀਏ:

setTimeout(function() {
  console.log('3 seconds has elapsed');
}, 3000);

ਜੇ ਤੁਸੀਂ ਸਾਡਾ ਨਵਾਂ ਕੋਡ ਚਲਾਉਂਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਨੋਟਿਸ ਕਰੋਗੇ ਕਿ ਸਾਨੂੰ ਉਹੀ ਨਤੀਜੇ ਮਿਲਦੇ ਹਨ। ਅਸੀਂ ਇੱਕ ਫੰਕਸ਼ਨ ਬਣਾਇਆ ਹੈ, ਪਰ ਇਸਨੂੰ ਇੱਕ ਨਾਮ ਦੇਣ ਦੀ ਲੋੜ ਨਹੀਂ ਸੀ!

ਫੈਟ ਐਰੋ ਫੰਕਸ਼ਨ

ਕਈ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ (ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਜਾਵਾਸਕ੍ਰਿਪਟ ਸ਼ਾਮਲ ਹੈ) ਵਿੱਚ ਇੱਕ ਆਮ ਸ਼ਾਰਟਕਟ ਐਰੋ ਜਾਂ ਫੈਟ ਐਰੋ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਯੋਗਤਾ ਹੈ। ਇਹ => ਦੇ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਸੰਕੇਤਕ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਜੋ ਇੱਕ ਤੀਰ ਵਰਗਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ - ਇਸ ਲਈ ਨਾਮ! => ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਅਸੀਂ function ਕੀਵਰਡ ਨੂੰ ਛੱਡ ਸਕਦੇ ਹਾਂ।

ਆਓ ਆਪਣੇ ਕੋਡ ਨੂੰ ਇੱਕ ਵਾਰ ਫਿਰ ਫੈਟ ਐਰੋ ਫੰਕਸ਼ਨ ਵਰਤ ਕੇ ਦੁਬਾਰਾ ਲਿਖੀਏ:

setTimeout(() => {
  console.log('3 seconds has elapsed');
}, 3000);

ਹਰ ਰਣਨੀਤੀ ਨੂੰ ਕਦੋਂ ਵਰਤਣਾ ਹੈ

ਤੁਸੀਂ ਹੁਣ ਵੇਖਿਆ ਹੈ ਕਿ ਅਸੀਂ ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਪਾਸ ਕਰਨ ਦੇ ਤਿੰਨ ਤਰੀਕੇ ਹਨ ਅਤੇ ਤੁਸੀਂ ਸੋਚ ਰਹੇ ਹੋ ਸਕਦੇ ਹੋ ਕਿ ਹਰ ਇੱਕ ਨੂੰ ਕਦੋਂ ਵਰਤਣਾ ਹੈ। ਜੇ ਤੁਹਾਨੂੰ ਪਤਾ ਹੈ ਕਿ ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਤੋਂ ਵੱਧ ਵਾਰ ਵਰਤੋਂਗੇ, ਤਾਂ ਇਸਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਬਣਾਓ। ਜੇ ਤੁਸੀਂ ਇਸਨੂੰ ਸਿਰਫ ਇੱਕ ਸਥਾਨ ਲਈ ਵਰਤੋਂਗੇ, ਤਾਂ ਆਮ ਤੌਰ 'ਤੇ ਗੁੰਨਾਮੀ ਫੰਕਸ਼ਨ ਵਰਤਣਾ ਵਧੀਆ ਹੈ। ਚਾਹੇ ਤੁਸੀਂ ਫੈਟ ਐਰੋ ਫੰਕਸ਼ਨ ਜਾਂ ਹੋਰ ਰਵਾਇਤੀ function ਸਿੰਟੈਕਸ ਵਰਤੋਂ, ਇਹ ਤੁਹਾਡੇ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਪਰ ਤੁਸੀਂ ਨੋਟਿਸ ਕਰੋਗੇ ਕਿ ਜ਼ਿਆਦਾਤਰ ਆਧੁਨਿਕ ਡਿਵੈਲਪਰ => ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹਨ।


🚀 ਚੁਣੌਤੀ

ਕੀ ਤੁਸੀਂ ਇੱਕ ਵਾਕ ਵਿੱਚ ਫੰਕਸ਼ਨ ਅਤੇ ਮੈਥਡ ਦੇ ਅੰਤਰ ਨੂੰ ਵਿਆਖਿਆ ਕਰ ਸਕਦੇ ਹੋ? ਇੱਕ ਕੋਸ਼ਿਸ਼ ਕਰੋ!

GitHub Copilot Agent Challenge 🚀

Agent ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੇਠਾਂ ਦਿੱਤੀ ਚੁਣੌਤੀ ਪੂਰੀ ਕਰੋ:

ਵੇਰਵਾ: ਇਸ ਪਾਠ ਵਿੱਚ ਕਵਰ ਕੀਤੇ ਗਏ ਵੱਖ-ਵੱਖ ਫੰਕਸ਼ਨ ਸੰਕਲਪਾਂ ਨੂੰ ਦਰਸਾਉਣ ਵਾਲਾ ਗਣਿਤ ਫੰਕਸ਼ਨ ਦਾ ਇੱਕ ਯੂਟਿਲਿਟੀ ਲਾਇਬ੍ਰੇਰੀ ਬਣਾਓ, ਜਿਸ ਵਿੱਚ ਪੈਰਾਮੀਟਰ, ਡਿਫਾਲਟ ਮੁੱਲ, ਵਾਪਸੀ ਮੁੱਲ, ਅਤੇ ਐਰੋ ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਹਨ।

ਪ੍ਰੋੰਪਟ: mathUtils.js ਨਾਮਕ ਇੱਕ ਜਾਵਾਸਕ੍ਰਿਪਟ ਫਾਈਲ ਬਣਾਓ ਜਿਸ ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਹਨ:

  1. ਇੱਕ ਫੰਕਸ਼ਨ add ਜੋ ਦੋ ਪੈਰਾਮੀਟਰ ਲੈਂਦਾ ਹੈ ਅਤੇ ਉਨ੍ਹਾਂ ਦਾ ਜੋੜ ਵਾਪਸ ਕਰਦਾ ਹੈ
  2. ਇੱਕ ਫੰਕਸ਼ਨ multiply ਜਿਸ ਵਿੱਚ ਡਿਫਾਲਟ ਪੈਰਾਮੀਟਰ ਮੁੱਲ ਹਨ (ਦੂਜਾ ਪੈਰਾਮੀਟਰ ਡਿਫਾਲਟ ਤੌਰ 'ਤੇ 1 ਹੈ)
  3. ਇੱਕ ਐਰੋ ਫੰਕਸ਼ਨ square ਜੋ ਇੱਕ ਨੰਬਰ ਲੈਂਦਾ ਹੈ ਅਤੇ ਇਸਦਾ ਵਰਗ ਵਾਪਸ ਕਰਦਾ ਹੈ
  4. ਇੱਕ ਫੰਕਸ਼ਨ calculate ਜੋ ਇੱਕ ਹੋਰ ਫੰਕਸ਼ਨ ਨੂੰ ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਅਤੇ ਦੋ ਨੰਬਰਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ, ਫਿਰ ਉਹਨਾਂ ਨੰਬਰਾਂ 'ਤੇ ਫੰਕਸ਼ਨ ਲਾਗੂ ਕਰਦਾ ਹੈ

ਅਸਵੀਕਰਤੀ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁੱਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।