𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 ਦੀ ਵਿਆਖਿਆ: ਤੁਹਾਨੂੰ ਇਸਦੀ ਲੋੜ ਕਿਉਂ ਹੈ

ਤੁਸੀਂ ਰੋਜ਼ਾਨਾ JavaScript ਲਿਖਦੇ ਹੋ। ਇਹ ਵਧੀਆ ਕੰਮ ਕਰਦੀ ਹੈ। ਤਾਂ ਫਿਰ TypeScript 'ਤੇ ਕਿਉਂ ਜਾਣਾ?

ਮੈਂ ਇੱਕ ਵਾਰ production bug ਨੂੰ ਠੀਕ ਕਰਨ ਵਿੱਚ ਦੋ ਦਿਨ ਲਗਾ ਦਿੱਤੇ ਸਨ। ਇਹ ਇੱਕ property ਦੇ ਨਾਮ ਵਿੱਚ ਇੱਕ ਸਧਾਰਨ typo ਸੀ। TypeScript ਉਸ ਗਲਤੀ ਨੂੰ ਮਿਲੀਸੈਕਿੰਡਾਂ ਵਿੱਚ ਲੱਭ ਲੈਂਦਾ।

TypeScript types ਦੇ ਨਾਲ JavaScript ਹੈ। Microsoft ਨੇ ਇਸਨੂੰ 2012 ਵਿੱਚ ਬਣਾਇਆ ਸੀ। Google ਅਤੇ Slack ਦੀਆਂ ਵੱਡੀਆਂ ਟੀਮਾਂ ਇਸਦੀ ਵਰਤੋਂ ਕਰਦੀਆਂ ਹਨ।

TypeScript, JavaScript ਦੀ ਜਗ੍ਹਾ ਨਹੀਂ ਲੈਂਦਾ। ਇਹ plain JavaScript ਵਿੱਚ compile ਹੋ ਜਾਂਦਾ ਹੈ। Browsers ਅਤੇ Node.js ਨਤੀਜੇ ਵਜੋਂ ਨਿਕਲੀਆਂ JS ਫਾਈਲਾਂ ਨੂੰ ਚਲਾਉਂਦੇ ਹਨ। TypeScript ਤੁਹਾਨੂੰ ਕੋਡ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਬਿਹਤਰ ਕੋਡ ਲਿਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।

ਇਹਨਾਂ ਦੋਵਾਂ ਉਦਾਹਰਣਾਂ ਦੀ ਤੁਲਨਾ ਕਰੋ:

JavaScript:

function greetUser(name) {
  return "Hello, " + name.toUpperCase();
}
greetUser(42); // ਇਹ runtime 'ਤੇ ਤੁਹਾਡੀ ਐਪ ਨੂੰ ਕ੍ਰੈਸ਼ ਕਰ ਦਿੰਦਾ ਹੈ।

TypeScript:

function greetUser(name: string): string {
  return "Hello, " + name.toUpperCase();
}
greetUser(42); // ਇਹ ਤੁਹਾਡੇ editor ਵਿੱਚ ਤੁਰੰਤ ਇੱਕ error ਦਿਖਾਉਂਦਾ ਹੈ।

TypeScript ਦੀ ਵਰਤੋਂ ਕਿਉਂ ਕਰੀਏ?

  • ਗਲਤੀਆਂ ਨੂੰ ਜਲਦੀ ਫੜੋ: ਤੁਸੀਂ ਗਲਤੀਆਂ ਟਾਈਪ ਕਰਦੇ ਸਮੇਂ ਲੱਭ ਲੈਂਦੇ ਹੋ, ਨਾ ਕਿ ਉਦੋਂ ਜਦੋਂ ਯੂਜ਼ਰਸ ਉਹਨਾਂ ਨੂੰ ਲੱਭਦੇ ਹਨ।
  • ਬਿਹਤਰ autocomplete: ਤੁਹਾਡਾ editor ਤੁਹਾਡੇ data structure ਨੂੰ ਜਾਣਦਾ ਹੈ ਅਤੇ properties ਸੁਝਾਅ ਦਿੰਦਾ ਹੈ।
  • ਲਿਵਿੰਗ ਡਾਕੂਮੈਂਟੇਸ਼ਨ: ਤੁਸੀਂ ਇਸਦੇ signature ਨੂੰ ਦੇਖ ਕੇ ਸਹੀ ਤਰ੍ਹਾਂ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ ਇੱਕ function ਨੂੰ ਕਿਸ data ਦੀ ਲੋੜ ਹੈ।
  • ਸੁਰੱਖਿਅਤ refactoring: ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ property ਦਾ ਨਾਮ ਬਦਲਦੇ ਹੋ, ਤਾਂ TypeScript ਤੁਹਾਡੇ ਕੋਡ ਵਿੱਚ ਹਰ ਟੁੱਟੀ ਹੋਈ ਜਗ੍ਹਾ ਨੂੰ ਫਲੈਗ (flag) ਕਰ ਦਿੰਦਾ ਹੈ।

ਕਿਵੇਂ ਸ਼ੁਰੂ ਕਰੀਏ:

  1. npm ਰਾਹੀਂ ਇੰਸਟਾਲ ਕਰੋ: npm install -g typescript

  2. hello.ts ਨਾਮ ਦੀ ਇੱਕ ਫਾਈਲ ਬਣਾਓ: const message: string = "Hello, TypeScript!"; console.log(message);

  3. ਇਸਨੂੰ compile ਕਰੋ: tsc hello.ts

ਇਹ ਇੱਕ hello.js ਫਾਈਲ ਬਣਾਉਂਦਾ ਹੈ। output ਵਿੱਚ types ਗਾਇਬ ਹੋ ਜਾਂਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਤੁਹਾਡੇ browser ਨੂੰ ਚਲਾਉਣ ਲਈ ਸਾਫ਼ JavaScript ਬਚਦੀ ਹੈ।

ਬਚਣ ਲਈ ਆਮ ਗਲਤੀਆਂ:

  • ਹਰ ਚੀਜ਼ ਲਈ "any" ਦੀ ਵਰਤੋਂ ਕਰਨਾ: ਇਹ TypeScript ਦੇ ਫਾਇਦਿਆਂ ਨੂੰ ਖਤਮ ਕਰ ਦਿੰਦਾ ਹੈ। ਸਪੈਸੀਫਿਕ (specific) ਬਣੋ।
  • ਗਲਤੀਆਂ ਨੂੰ ਅਣਦੇਖਾ ਕਰਨਾ: comments ਨਾਲ ਗਲਤੀਆਂ ਨੂੰ ਨਾ ਛੁਪਾਓ। ਅਸਲ ਸਮੱਸਿਆ ਨੂੰ ਠੀਕ ਕਰੋ।
  • Over-annotating: TypeScript ਸਮਾਰਟ ਹੈ। ਇਹ ਅਕਸਰ inference ਰਾਹੀਂ type ਦਾ ਅੰਦਾਜ਼ਾ ਲਗਾ ਸਕਦਾ ਹੈ।

TypeScript ਨੂੰ ਸਿੱਖਣ ਵਿੱਚ ਥੋੜ੍ਹਾ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ। ਜਿਵੇਂ-ਜਿਵੇਂ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਵਧਦੇ ਹਨ, ਇਹ ਫਾਇਦੇਮੰਦ ਸਾਬਤ ਹੁੰਦਾ ਹੈ।

ਸਰੋਤ: https://dev.to/ramesh_s_a8f0867d239e927c/typescript-explained-why-every-javascript-developer-should-care-4nn3