⊗tsSpGnTV 30 of 37 menu

ტიპური ცვლადები TypeScript-ში

ჯენერიკების კონცეფციის უკეთ გასაგებად შევქმნათ ჩვენი პირველი ფუნქცია - იდენტურობის ფუნქცია. ასეთი ფუნქცია აბრუნებს ზუსტად იმას, რაც მას გადაეცა - იგივე ტიპით.

ჯერ დავწეროთ ჩვენი ფუნქციის ვარიანტები ცალ-ცალკე.

დავწეროთ ფუნქცია, რომელიც პარამეტრად იღებს რიცხვს და აბრუნებს რიცხვს:

function func(data: number): number { return data; }

ახლა დავწეროთ ფუნქცია, რომელიც პარამეტრად იღებს სტრიქონს და აბრუნებს სტრიქონს:

function func(data: string): string { return data; }

ახლა კი გვინდა, რომ ეს ყველაფერი ერთმა ფუნქციამ გააკეთოს. ანუ ჩვენ გვინდა შევასრულოთ განზოგადება.

ამისთვის ჩვენ გამოვიყენებთ ტიპურ ცვლადს, რომელიც ინახავს მონაცემთა ტიპს. ასეთი ცვლადი გამოცხადებულია სამკუთხა ფრჩხილებში, ფუნქციის პარამეტრების მრგვალი ფრჩხილების წინ. გამოვაცხადოთ ასეთი ცვლადი, მივცეთ მას სახელი T (შეგიძლიათ ნებისმიერი):

function func <T>(აქ პარამეტრები) { return data; }

ამის შემდეგ ჩვენ გვექნება ცვლადი T, რომლის გამოყენებაც შეგვიძლია, რომ მასში ჩავდოთ პარამეტრის ტიპი, შემდეგ კი მივუთითოთ იგი როგორც დასაბრუნებელი მნიშვნელობის ტიპი.

მივუთითოთ ჩვენს პარამეტრს ტიპი, როგორც ჩვენი ცვლადი:

function func <T>(data: T) { return data; }

გამოვა, რომ პარამეტრი შეიძლება გადაეცეს ნებისმიერი ტიპით და ეს ტიპი შეინახება ჩვენს ცვლადში T.

ახლა გამოვიყენოთ ცვლადის T მნიშვნელობა ფუნქციის შედეგის მითითებისთვის:

function func <T>(data: T): T { return data; }

ახლა კი გამოვა, რომ ფუნქციის შედეგის ტიპი მიიღება პარამეტრის ტიპიდან. მოდით შევამოწმოთ.

გამოვიძახოთ ფუნქცია რიცხვით:

console.log( func(3) ); // გამოიტანს 3-ს

გამოვიძახოთ ფუნქცია სტრიქონით:

console.log( func('x') ); // გამოიტანს 'x'-ს

შექმენით ფუნქცია, რომელიც პარამეტრად იღებს ან ორ რიცხვს, ან ორ სტრიქონს. შედეგად ფუნქციამ უნდა დააბრუნოს პარამეტრების ჯამი.

ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა