𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 ਬਨਾਮ 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁: ਇੱਕ ਡਿਵੈਲਪਰ ਦੀ ਗਾਈਡ

JavaScript ਵੈੱਬ ਨੂੰ ਚਲਾਉਂਦੀ ਹੈ। ਇਹ Node.js ਰਾਹੀਂ ਤੁਹਾਡੇ ਇੰਟਰਫੇਸਾਂ ਅਤੇ ਤੁਹਾਡੇ ਸਰਵਰਾਂ ਨੂੰ ਸ਼ਕਤੀ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। ਪਰ ਜਿਵੇਂ-ਜਿਵੇਂ ਤੁਹਾਡਾ ਕੋਡ ਵਧਦਾ ਹੈ, ਇਸਨੂੰ ਸੰਭਾਲਣਾ ਮੁਸ਼ਕਲ ਹੋ ਜਾਂਦਾ ਹੈ। ਐਪ ਚੱਲਦੇ ਸਮੇਂ ਅਕਸਰ ਗਲਤੀਆਂ (errors) ਹੋ ਜਾਂਦੀਆਂ ਹਨ।

TypeScript ਇਸਦਾ ਹੱਲ ਕਰਦਾ ਹੈ। ਇਹ JavaScript ਦਾ ਇੱਕ ਵਰਜ਼ਨ ਹੈ ਜੋ types ਜੋੜਦਾ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਕੋਡ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਗਲਤੀਆਂ ਫੜਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।

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

• Static Typing: ਤੁਸੀਂ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹੋ ਕਿ ਡੇਟਾ ਕਿਹੋ ਜਿਹਾ ਦਿਖਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਕਈ ਬੱਗਸ (bugs) ਨੂੰ ਰੋਕਦਾ ਹੈ। • ਬਿਹਤਰ ਟੂਲਸ: ਤੁਹਾਡਾ ਐਡੀਟਰ ਤੁਹਾਨੂੰ ਬਿਹਤਰ autocompletion ਅਤੇ navigation ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। • ਪੜ੍ਹਨਯੋਗਤਾ: Interfaces ਤੁਹਾਡੇ ਕੋਡ ਨੂੰ ਪੜ੍ਹਨਾ ਅਤੇ ਸਮਝਣਾ ਆਸਾਨ ਬਣਾਉਂਦੇ ਹਨ। • ਅਨੁਕੂਲਤਾ: TypeScript ਕਿਸੇ ਵੀ ਮਾਹੌਲ ਲਈ ਸਾਫ਼ JavaScript ਵਿੱਚ ਬਦਲ ਜਾਂਦਾ ਹੈ।

ਇਸ ਕੋਡ ਉਦਾਹਰਣ ਨੂੰ ਦੇਖੋ:

function getStringLength(input: string): number {
    return input.length;
}

const myString: string = "Hello";
const length: number = getStringLength(myString);

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

ਮੁੱਖ ਅੰਤਰ:

• JavaScript dynamic typing ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਸ ਨਾਲ runtime errors ਹੁੰਦੇ ਹਨ। • TypeScript static typing ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਡਿਵੈਲਪਮੈਂਟ ਦੌਰਾਨ ਹੀ ਗਲਤੀਆਂ ਫੜ ਲੈਂਦਾ ਹੈ। • JavaScript ਚੱਲਦੇ ਸਮੇਂ debugging 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। • TypeScript ਟਾਈਪ ਕਰਦੇ ਸਮੇਂ ਹੀ ਗਲਤੀਆਂ ਲੱਭਣ ਲਈ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।

ਤੁਹਾਨੂੰ ਆਪਣੇ ਡੇਟਾ ਨੂੰ ਸੰਗਠਿਤ ਕਰਨ ਲਈ interfaces ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ਇੱਥੇ ਇੱਕ ਉਦਾਹਰਣ ਹੈ:

interface User {
    id: number;
    name: string;
    email?: string;
}

const user1: User = {
    id: 1,
    name: "Jane Doe"
};

ਇਹ ਢਾਂਚਾ ਤੁਹਾਡੇ ਡੇਟਾ ਨੂੰ ਸੰਗਠਿਤ ਅਤੇ predictable ਰੱਖਦਾ ਹੈ।

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

ਸਰੋਤ: https://dev.to/gautammanak1/understanding-javascript-and-typescript-a-developers-guide-5gef