ਟਾਈਪਸਕ੍ਰਿਪਟ ਡਿਕਸ਼ਨਰੀ

ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਖਤਮ ਕਰਨ ਲਈ ਸਾਡੇ ਸਾਧਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਟਾਈਪਸਕ੍ਰਿਪਟ ਵਿੱਚ ਡਿਕਸ਼ਨਰੀ / ਹੈਸ਼ / ਮੈਪ ਨੂੰ ਸਖਤੀ ਨਾਲ ਟਾਈਪ ਕਰਨ ਦੇ ਵੱਖੋ ਵੱਖਰੇ ਤਰੀਕੇ.



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






ਸਮੱਸਿਆ

ਟਾਈਪਸਕ੍ਰਿਪਟ ਨੂੰ ਕਿਸੇ ਵਸਤੂ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਉਸ ਦੀ ਪੂਰੀ ਪ੍ਰਤੀਨਿਧਤਾ ਨੂੰ ਸਮਝਣ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ. ਉਦਾਹਰਣ ਦੇ ਲਈ, ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਵਧੀਆ ਹੈ ਪਰ ਟਾਈਪਸਕ੍ਰਿਪਟ ਵਿੱਚ ਇੱਕ ਕਿਸਮ ਦੀ ਗਲਤੀ ਪੈਦਾ ਕਰਦਾ ਹੈ:



let scores = {}; scores.bill = 10; // - Property 'bill' does not exist on type '{}'

ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਆਉਟਪੁੱਟ | _+_ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਦੇ ਕੰਸੋਲ ਵਿੱਚ ਪਰ ਟਾਈਪਸਕ੍ਰਿਪਟ ਵਿੱਚ ਇੱਕ ਕਿਸਮ ਦੀ ਗਲਤੀ ਪੈਦਾ ਕਰਦਾ ਹੈ:



undefined

ਅਸੀਂ | _+_ | ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ ਇੱਕ ਟਾਈਪ ਐਨੋਟੇਸ਼ਨ ਵਿੱਚ, ਪਰ ਫਿਰ ਸ਼ਬਦਕੋਸ਼ ਤੇ ਕੋਈ ਕਿਸਮ ਦੀ ਜਾਂਚ ਨਹੀਂ ਹੋਵੇਗੀ:






let scores = { bill: 10 }; console.log(scores.fred); // - Property 'fred' does not exist on type '{ bill: number; }'

ਅਸੀਂ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਕੁਝ ਕਿਸਮ ਦੀ ਜਾਂਚ ਹੋਵੇ ਪਰ ਰਨਟਾਈਮ ਤੇ ਸ਼ਬਦਕੋਸ਼ ਵਿੱਚ ਕੁੰਜੀਆਂ ਜੋੜਨ ਦੀ ਲਚਕਤਾ ਹੋਵੇ.

akita inu ਸਟਾਕ ਦੀ ਕੀਮਤ

ਇੱਕ ਇੰਡੈਕਸਡ ਆਬਜੈਕਟ ਟਾਈਪ ਐਨੋਟੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਅਸੀਂ ਇੰਡੈਕਸਡ ਆਬਜੈਕਟ ਟਾਈਪ ਐਨੋਟੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਕਰ ਸਕਦੇ ਹਾਂ:

any

ਇੱਥੇ ਅਸੀਂ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹਾਂ ਕਿ ਸ਼ਬਦਕੋਸ਼ ਦੀਆਂ ਕੁੰਜੀਆਂ ਸਤਰ ਹਨ ਅਤੇ ਮੁੱਲ ਸੰਖਿਆਤਮਕ ਹਨ.

ਨਾਮ ਲੇਬਲ ਕੁਝ ਵੀ ਹੋ ਸਕਦਾ ਹੈ ਜੋ ਅਸੀਂ ਪਸੰਦ ਕਰਦੇ ਹਾਂ. ਅਕਸਰ ਕੁੰਜੀ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:

let scores: any = {}; scores.bill = 10; // ✔️ - no type error scores.invalidProp = true; // ✔️ - no type error

ਲੇਬਲ ਨੂੰ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹਾਲਾਂਕਿ:

json ਐਰੇ ਨੂੰ json ਆਬਜੈਕਟ ਵਿੱਚ ਬਦਲੋ
let scores: { [name: string]: number } = {}; scores.bill = 10; // ✔️ - no type error scores.bill = '10'; // - Type 'string' is not assignable to type 'number'

ਬਦਕਿਸਮਤੀ ਨਾਲ ਅਸੀਂ ਯੂਨੀਅਨ ਕਿਸਮ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਕੁੰਜੀਆਂ ਨੂੰ ਸੀਮਤ ਨਹੀਂ ਕਰ ਸਕਦੇ:

let scores: { [key: string]: number } = {}; scores.bill = 10;

ਵਧੇਰੇ ਸਥਿਰ ਨੋਟ ਤੇ, ਸਾਡੇ ਕੋਲ ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਮੁੱਲ ਕਿਸਮਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ:

let scores: { [string]: number } = {}; // - 'string' only refers to a type, but is being used as a value here

#ਟਾਈਪਸਕ੍ਰਿਪਟ #ਜਾਵਾਸਕ੍ਰਿਪਟ #ਪ੍ਰੋਗਰਾਮਿੰਗ #ਵੈਬ-ਵਿਕਾਸ

www.carlrippon.com

ਟਾਈਪਸਕ੍ਰਿਪਟ ਡਿਕਸ਼ਨਰੀ

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