TypeScript ਪ੍ਰਾਇਮੇਟਿਵ ਡਾਟਾ ਟਾਈਪਸ
TypeScript ਤੁਹਾਨੂੰ ਇਹ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਵੇਰੀਏਬਲਜ਼ (variables) ਨੂੰ ਡਾਟਾ ਕਿਵੇਂ ਅਸਾਈਨ ਕਰਦੇ ਹੋ। ਇਸ ਨੂੰ ਕਰਨ ਦੇ ਦੋ ਮੁੱਖ ਤਰੀਕੇ ਹਨ।
Explicit assignment ਤੁਸੀਂ TypeScript ਨੂੰ ਸਹੀ ਤਰ੍ਹਾਂ ਦੱਸਦੇ ਹੋ ਕਿ ਕਿਸੇ ਵੈਲਯੂ (value) ਦੀ ਟਾਈਪ ਕੀ ਹੈ। ਉਦਾਹਰਨ:
let str: string = "hello";Implicit assignment TypeScript ਵੈਲਯੂ ਦੇ ਆਧਾਰ 'ਤੇ ਟਾਈਪ ਦਾ ਅੰਦਾਜ਼ਾ ਲਗਾਉਂਦਾ ਹੈ। ਇਸ ਨੂੰ inferred typing ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਉਦਾਹਰਨ:
let str = "hello";
Inferred typing ਦੇ ਨਾਲ ਵੀ, TypeScript ਤੁਹਾਡੇ ਕੋਡ ਦੀ ਰੱਖਿਆ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ string ਨੂੰ number ਵਿੱਚ ਬਦਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋ, ਤਾਂ TypeScript ਇੱਕ error ਦਿਖਾਉਂਦਾ ਹੈ।
ਤੁਹਾਨੂੰ explicit assignment ਦੀ ਵਰਤੋਂ ਕਦੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ?
- ਜਦੋਂ ਤੁਸੀਂ ਤੁਰੰਤ ਕਿਸੇ ਵੈਲਯੂ ਤੋਂ ਬਿਨਾਂ ਵੇਰੀਏਬਲ ਡਿਕਲੇਅਰ ਕਰਦੇ ਹੋ।
- ਫੰਕਸ਼ਨ ਇਨਪੁੱਟਸ (inputs) ਅਤੇ ਆਉਟਪੁੱਟਸ (outputs) ਲਈ।
- ਆਬਜੈਕਟ ਇੰਟਰਫੇਸ (object interfaces) ਦੇ ਅੰਦਰ।
- ਕਲਾਸਾਂ (classes) ਦੇ ਅੰਦਰ।
TypeScript ਗੁੰਝਲਦਾਰ ਆਬਜੈਕਟਾਂ ਲਈ duck typing ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਆਬਜੈਕਟ ਇੱਕ ਖਾਸ ਸਟ੍ਰਕਚਰ (structure) ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਤਾਂ TypeScript ਉਸੇ ਸਟ੍ਰਕਚਰ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਅਜਿਹੀਆਂ ਨਵੀਆਂ ਪ੍ਰਾਪਰਟੀਜ਼ (properties) ਜੋੜਨ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦੇਵੇਗਾ ਜੋ ਅਸਲ ਡੈਫੀਨੇਸ਼ਨ ਵਿੱਚ ਮੌਜੂਦ ਨਹੀਂ ਹਨ।
TypeScript ਵਿੱਚ JavaScript ਪ੍ਰਾਇਮੇਟਿਵ ਟਾਈਪਸ:
- number: integers, decimals, hex, binary, ਅਤੇ scientific notation ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ।
- bigint: ਬਹੁਤ ਵੱਡੇ integers ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
- string: ਅੱਖਰਾਂ ਦੀ ਇੱਕ ਲੜੀ (sequence)।
- boolean: true ਜਾਂ false।
- symbol: ਵਿਲੱਖਣ (unique) ਵੈਲਯੂਜ਼ ਬਣਾਉਂਦਾ ਹੈ।
- null: ਇੱਕ ਖਾਲੀ ਜਾਂ ਗੈਰ-ਮੌਜੂਦ ਵੈਲਯੂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
- undefined: ਬਿਨਾਂ ਵੈਲਯੂ ਵਾਲੇ ਵੇਰੀਏਬਲ ਲਈ ਇੱਕ ਪਲੇਸਹੋਲਡਰ।
null ਅਤੇ undefined ਬਾਰੇ ਨੋਟ: ਜੇਕਰ ਤੁਸੀਂ ਕੋਈ ਟਾਈਪ ਸੈੱਟ ਨਹੀਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਵੈਲਯੂਜ਼ ਇੱਕ ਵੇਰੀਏਬਲ ਨੂੰ ਕਿਸੇ ਵੀ ਟਾਈਪ ਵਿੱਚ ਬਦਲਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ। ਜੇਕਰ ਤੁਸੀਂ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਟਾਈਪ ਨੂੰ null ਜਾਂ undefined 'ਤੇ ਸੈੱਟ ਕਰਦੇ ਹੋ, ਤਾਂ ਵੇਰੀਏਬਲ ਉਸੇ ਟਾਈਪ ਦਾ ਰਹਿੰਦਾ ਹੈ।
ਸਰੋਤ: https://dev.to/jsha/introduction-to-typescript-javascript-primitive-data-types-49ok