Змест[Схаваць][Паказаць]
- 1. Што такое TypeScript і чым ён адрозніваецца ад JavaScript?
- 2. Якія прыкметныя асаблівасці TypeScript?
- 3. Якія перавагі выкарыстання TypeScript?
- 4. Якія некаторыя недахопы выкарыстання TypeScript?
- 5. Што такое кампаненты TypeScript?
- 6. Ці можаце вы растлумачыць інтэрфейсы ў TypeScript?
- 7. Што такое зменныя ў TypeScript і як яны аб'яўляюцца рознымі спосабамі?
- 8. Як можна выкарыстоўваць падмноства інтэрфейсу для стварэння новага тыпу?
- 9. Што вы маеце на ўвазе пад «любымі» тыпамі і калі я павінен іх выкарыстоўваць?
- 10. Як TypeScript з'яўляецца мовай з дадатковым статычна тыпізаваным сінтаксісам?
- 11. Што азначаюць модулі ў TypeScript?
- 12. Як «пералічэнні» функцыянуюць у TypeScript?
- 13. Чым унутраны модуль адрозніваецца ад вонкавага?
- 14. Што азначае ананімная функцыя TypeScript?
- 15. Што такое прастора імёнаў у TypeScript і як яе аб'явіць?
- 16. Якія мадыфікатары доступу падтрымлівае TypeScript?
- 17. Ці дазваляе TypeScript перагружаць функцыі?
- 18. Як TypeScript дазваляе неабавязковыя аргументы ў функцыях?
- 19. Як var, let і const адрозніваюцца адзін ад аднаго?
- 20. У TypeScript апішыце дэкаратары?
- 21. Што азначаюць Mixins у TypeScript?
- 22. Што такое псеўданімы тыпаў у TypeScript?
- 23. Што азначае тэрмін «пераменная вобласці»?
- 24. Для чаго менавіта выкарыстоўваецца noImplicitAny?
- 25. Як тыпы аб'яднання і перакрыжавання адрозніваюцца адзін ад аднаго?
- 26. Як вы вызначаеце ключавое слова TypeScript Declare?
- 27. Што такое ўніверсалы ў TypeScript?
- 28. Што азначае JSX у TypeScript?
- 29. Што такое TypeScript Ambients і калі я павінен іх выкарыстоўваць?
- 30. Што вы маеце на ўвазе пад абстрактным класам у TypeScript?
- 31. Што такое файл TypeScript Map?
- 32. Што такое зацвярджэнне тыпу ў TypeScript?
- заключэнне
Microsoft распрацавала і працягвае падтрымліваць мову праграмавання TypeScript. З даданнем статычнага ўводу ў якасці опцыі, гэта сінтаксічны набор JavaScript.
Маштабная мова распрацоўкі прыкладанняў TypeScript кампілюе JavaScript. Паколькі TypeScript з'яўляецца надмноствам JavaScript, праграмы, напісаныя на JavaScript, таксама прыдатныя ў TypeScript.
Вось вычарпальны спіс найбольш тыповых пытанняў і адказаў на інтэрв'ю з распрацоўшчыкамі TypeScript, калі вы на іх прысутнічаеце.
1. Што такое TypeScript і чым ён адрозніваецца ад JavaScript?
Надмноства JavaScript, TypeScript кампілюецца ў стандартны JavaScript. З канцэптуальнай пункту гледжання, TypeScript і JavaScript падобныя на SASS і CSS.
Іншымі словамі, TypeScript - гэта ES6 JavaScript з некалькімі дадатковымі магчымасцямі. JavaScript - гэта мова сцэнарыяў, больш падобная на Python, у той час як TypeScript - гэта аб'ектна-арыентаваная мова са статычным тыпам, параўнальная з Java і C#.
Класы і інтэрфейсы з'яўляюцца часткай аб'ектна-арыентаванага дызайну TypeScript, а вывад тыпу з'яўляецца адным з многіх інструментаў, даступных дзякуючы статычнай тыпізацыі.
JavaScript запісваецца ў файле з пашырэннем .js, а TypeScript — у файле з пашырэннем .ts.
У адрозненне ад JavaScript, код TypeScript не можа быць запушчаны непасрэдна ў браўзеры або на любой іншай платформе і не разумеецца браўзерамі. Затым мэтавая платформа будзе запускаць просты JavaScript, які быў створаны з файлаў .ts з дапамогай транспілера TypeScript.
2. Якія прыкметныя асаблівасці TypeScript?
- Статычная тыпізацыя - гэта функцыя TypeScript, якая дапамагае правяраць тып падчас кампіляцыі. Такім чынам, нават не выконваючы скрыпт, вы можаце выявіць памылкі ў кодзе падчас яго напісання.
- DOM можа быць зменены з дапамогай TypeScript для дадання або выдалення элементаў.
- У любой аперацыйнай сістэме, уключаючы Windows, macOS і Linux, можа быць усталяваны кампілятар TypeScript.
- Класы, інтэрфейсы і модулі - некаторыя з функцый, прапанаваных TypeScript. Такім чынам, ён можа ствараць аб'ектна-арыентаваны код для распрацоўкі як на баку кліента, так і на баку сервера.
- Большасць функцый ECMAScript 2015 (ES 6, 7) ужо ўключаны ў TypeScript, у тым ліку клас, інтэрфейс, функцыі стрэлак і г.д.
- Калі вы выкарыстоўваеце дынамічны набор тэксту JavaScript, TypeScript таксама падтрымлівае дадатковы статычны набор тэксту.
3. Якія перавагі выкарыстання TypeScript?
- Любы механізм або браўзер JavaScript можа выконваць TypeScript, паколькі ён хуткі, просты ў вывучэнні і хутка працуе.
- Ён мае той жа сінтаксіс і семантыку, што і JavaScript.
- Гэта палягчае больш хуткае напісанне інтэрфейснага кода распрацоўшчыкамі бэкэнда.
- Ён уключае ў сябе магчымасці ES6 і ES7, якія могуць функцыя ў JavaScript Рухавікі ES5, такія як Node.js.
- Існуючыя бібліятэкі JavaScript, такія як Jquery, D3.js і г.д., падтрымліваюцца праз файл вызначэння, які мае пашырэнне.d.ts.
- Сцэнар JavaScript, які ўжо існуе, можа выклікаць код TypeScript. Ён таксама лёгка інтэгруецца з сучаснымі фрэймворкамі і бібліятэкамі JavaScript.
4. Якія некаторыя недахопы выкарыстання TypeScript?
- Кадаванне з дапамогай TypeScript патрабуе працяглага працэсу кампіляцыі.
- Ён не падтрымлівае абстрактныя класы.
- Якасць файлаў вызначэння тыпу з'яўляецца праблемай.
- Для выкарыстання любая старонняя бібліятэка павінна мець файл вызначэння.
- Для пераўтварэння TypeScript у JavaScript неабходны этап кампіляцыі, калі мы хочам запусціць прыкладанне TypeScript у браўзеры.
- JavaScript выкарыстоўваецца вэб-распрацоўшчыкамі на працягу многіх гадоў, і TypeScript не дае нічога новага.
5. Што такое кампаненты TypeScript?
У TypeScript ёсць тры асноўныя катэгорыі кампанентаў, у тым ліку:
- мова: Ён уключае анатацыі да тыпу, ключавых слоў і сінтаксісу.
- Кампілятар TypeScript: Інструкцыі TypeScript перакладзены ў JavaScript гэтым кампілятарам (tsc).
- Служба мовы TypeScript: Language Service прапануе прыкладанні, падобныя на рэдактары, у якасці другога ўзроўню ў дадатак да асноўнага працэсу кампілятара. Стандартны набор агульных аперацый рэдагавання падтрымліваецца моўнай службай.
6. Ці можаце вы растлумачыць інтэрфейсы ў TypeScript?
TypeScript выкарыстоўвае інтэрфейсы для ўказання сінтаксісу аб'ектаў. Іншымі словамі, формы дадзеных, такія як аб'екты або масіў элементаў, могуць быць апісаны з дапамогай інтэрфейсаў. Ключавое слова інтэрфейсу, імя інтэрфейсу і яго вызначэнне выкарыстоўваюцца для аб'яўлення інтэрфейсаў. Давайце разгледзім асноўны інтэрфейс аб'екта карыстальніка.
Затым тып зменнай можна ўсталяваць з дапамогай інтэрфейсу (падобна таму, як вы прызначаеце прымітыўныя тыпы зменнай). Затым уласцівасці інтэрфейсу будуць задавальняцца зменнай тыпу User.
Ваш праект TypeScript выйграе ад інтэрфейсаў, таму што яны забяспечваюць аднастайнасць. Акрамя таго, інтэрфейсы паляпшаюць інструменты вашага праекта, пашыраючы магчымасці аўтазапаўнення IDE і гарантуючы, што правільныя значэнні пастаўляюцца ў канструктары і метады.
7. Што такое зменныя ў TypeScript і як яны аб'яўляюцца рознымі спосабамі?
Пераменная - гэта спецыяльна адведзеная вобласць памяці, якая выкарыстоўваецца для захоўвання значэнняў. Пры аб'яве зменнай у TypeScript пасля назвы зменнай ставіцца двукроп'е (:), за якім ідзе тып. Мы аб'яўляем зменныя з ключавым словам var, як і ў JavaScript.
Пры аб'яўленні зменнай у Typescript трэба выконваць некаторыя рэкамендацыі:
- Імя не можа пачынацца з лічбы.
- Імя зменнай павінна ўтрымліваць літары або лічбы.
- Сімвал даляра ($) і падкрэсліванне (_) з'яўляюцца адзінымі спецыяльнымі сімваламі, якія дазволены ў гэтым полі.
8. Як можна выкарыстоўваць падмноства інтэрфейсу для стварэння новага тыпу?
Указаўшы існуючы тып або інтэрфейс і выбраўшы ключы, якія трэба выключыць з новага тыпу, вы можаце стварыць новы тып у TypeScript, выкарыстоўваючы апушчаны тып утыліты.
У наступным прыкладзе дэманструецца, як стварыць новы тып пад назвай UserPreview, які заснаваны на карыстальніцкім інтэрфейсе, але выключае ўласцівасць электроннай пошты.
9. Што вы маеце на ўвазе пад «любымі» тыпамі і калі я павінен іх выкарыстоўваць?
Часам вам трэба захаваць значэнне ў зменнай, але вы загадзя не ўпэўнены ў тыпе зменнай. Значэнне можа паходзіць, напрыклад, з уводу карыстальніка або запыту API. Вы можаце даць любы тып значэння тыпу зменнай, выкарыстоўваючы тып «любы».
Калі тып зменнай не пазначаны відавочна і кампілятар не можа вызначыць яе з кантэксту, TypeScript лічыць, што зменная мае тып any.
10. Як TypeScript з'яўляецца мовай з дадатковым статычна тыпізаваным сінтаксісам?
Можна даручыць кампілятару ігнараваць тып зменнай у TypeScript, паколькі яна неабавязкова статычна тыпізуецца. Любы тып даных можна выкарыстоўваць для прысваення любога віду значэння зменнай. Падчас кампіляцыі TypeScript не забяспечвае праверку памылак.
11. Што азначаюць модулі ў TypeScript?
Эфектыўна згрупаваць адпаведныя зменныя, функцыі, класы, інтэрфейсы і г.д. з дапамогай модуляў. Ён можа быць выкарыстаны, але не ў глабальным аб'ёме, толькі ў сваім уласным аб'ёме.
Па сутнасці, да вызначаных модулям зменных, функцый, класаў і інтэрфейсаў нельга атрымаць прамы доступ па-за модулем.
Ключавое слова export можна выкарыстоўваць для стварэння модуля, а ключавое слова import можна выкарыстоўваць для ўключэння модуля ў іншы модуль.
12. Як «пералічэнні» функцыянуюць у TypeScript?
Метад вызначэння калекцыі найменных канстант заключаецца ў выкарыстанні пералічэнняў або пералічаных тыпаў. Гэтыя структуры дадзеных маюць фіксаваную даўжыню і набор фіксаваных значэнняў.
Пры прадстаўленні калекцыі альтэрнатыў для зададзенага значэння ў TypeScript пералічэнні часта выкарыстоўваюцца для апісання магчымасцей з выкарыстаннем набору пар ключ/значэнне.
Давайце паглядзім ілюстрацыю пералічэння, якое выкарыстоўваецца для прадастаўлення розных тыпаў карыстальнікаў.
Пералічэнні ўнутрана пераўтвараюцца ў звычайныя аб'екты JavaScript з дапамогай TypeScript пасля кампіляцыі. Такім чынам, выкарыстанне пералічэнняў пераважней выкарыстання некалькіх асобных канстантных зменных.
Ваш код з'яўляецца бяспечным для тыпаў і лягчэй для разумення з-за групоўкі, якая забяспечвае пералічэнні.
13. Чым унутраны модуль адрозніваецца ад вонкавага?
Унутраны модуль:
- Унутраныя модулі былі асаблівасцю папярэдняй ітэрацыі Typescript.
- Імя і цела ўнутраных модуляў вызначаюцца з дапамогай ModuleDeclarations.
- Гэта члены іншых модуляў, якія з'яўляюцца лакальнымі або экспартаванымі.
- Класы, інтэрфейсы, функцыі і зменныя згрупаваны ва ўнутраных модулях, якія можна экспартаваць у іншы модуль.
Знешні модуль:
- У апошняй версіі знешнія модулі называюцца модулямі.
- Для іх стварэння выкарыстоўваецца асобны зыходны файл, вядомы як знешні модуль, і кожны з іх мае як мінімум адну дэкларацыю імпарту або экспарту.
- У апошняй версіі знешнія модулі называюцца модулямі.
- Унутраныя аператары азначэнняў модуля можна схаваць з дапамогай знешніх модуляў, пакідаючы бачнымі толькі метады і аргументы, звязаныя з вызначанай зменнай.
14. Што азначае ананімная функцыя TypeScript?
Функцыі, класіфікаваныя як ананімныя, не маюць назвы функцыі ў якасці ідэнтыфікатара. Гэтыя працэдуры дынамічна вызначаюцца падчас выканання. Як і звычайныя функцыі, ананімныя функцыі могуць прымаць уводныя дадзеныя і даваць вынікі.
Ананімная функцыя, як правіла, недаступная пасля таго, як яна была створана. Зменныя могуць быць прызначаны ананімнай функцыі.
15. Што такое прастора імёнаў у TypeScript і як яе аб'явіць?
Прастора імёнаў лагічна групуе функцыянальныя магчымасці. Яны ўнутрана захоўваюць састарэлы код машынапісу. Ён ахоплівае рысы і рэчы з пэўнымі сувязямі.
Іншая назва прасторы імёнаў - унутраны модуль. Інтэрфейсы, класы, функцыі і зменныя могуць быць уключаны ў прастору імёнаў, каб забяспечыць набор звязаных функцый.
16. Якія мадыфікатары доступу падтрымлівае TypeScript?
Ніжэй прыведзены прыклады таго, як публічныя, прыватныя і абароненыя мадыфікатары доступу ў TypeScript могуць выкарыстоўвацца для кіравання даступнасцю члена класа:
- Публічны – доступ даступны для кожнага члена класа, усіх класаў-нашчадкаў і кожнага асобніка класа.
- Абароненыя – яны даступныя кожнаму члену класа і ўсіх яго падкласаў. Аднак асобнік класа не можа атрымаць доступ.
- Прыватны доступ да іх абмежаваны толькі для членаў класа.
Паколькі JavaScript зручны, калі мадыфікатар доступу не зададзены, ён лічыцца агульнадаступным.
17. Ці дазваляе TypeScript перагружаць функцыі?
Так, перагрузка функцый падтрымліваецца TypeScript. Але зараз гэта робіцца дзіўна. Такім чынам, пры перагрузцы з дапамогай TypeScript існуе толькі адна рэалізацыя з мноствам подпісаў.
У той час як другі подпіс змяшчае параметр тэксту тыпу, першы подпіс мае толькі адзін параметр нумара тыпу. Трэцяя функцыя, якая ўключае аргумент тыпу any, змяшчае фактычную рэалізацыю.
Затым рэалізацыя вызначае тып прадастаўленага параметра і запускае асобны раздзел кода ў адпаведнасці з гэтым вызначэннем.
18. Як TypeScript дазваляе неабавязковыя аргументы ў функцыях?
У адрозненне ад JavaScript, калі вы паспрабуеце выклікаць функцыю без указання дакладнай колькасці і відаў параметраў, як пазначана ў яе подпісы функцыі, кампілятар TypeScript выкліча памылку.
Вы можаце выкарыстоўваць дадатковыя параметры, выкарыстоўваючы знак пытання ('?'), каб абыйсці гэтую праблему. Гэта паказвае, што неабавязковыя параметры могуць быць абазначаны даданнем «?» да тых, якія могуць атрымаць або не атрымаць каштоўнасць.
19. Як var, let і const адрозніваюцца адзін ад аднаго?
TypeScript прапануе тры розныя спосабы аб'яўлення зменнай, кожны з якіх мае прапанаванае прымяненне.
было: абвяшчае глабальную або функцыянальную зменную з паводзінамі зменных JavaScript і рэкамендацыямі па ахопе. Зменным не трэба ўсталёўваць свае значэнні пры іх аб'яўленні.
няхай: аб'яўляе блочную зменную з лакальнай вобласцю. Няхай зменным не трэба ўсталёўваць значэнне зменнай пры іх аб'яўленні. Тэрмін «лакальная зменная ў межах блока» адносіцца да зменнай, да якой можна атрымаць доступ толькі знутры блока, у якім яна змяшчаецца, напрыклад, функцыі, блока if/else або цыкла. Няхай зменныя не могуць быць прачытаны або запісаны да іх аб'яўлення, у адрозненне ад вар.
const: абвяшчае значэнне для канстанты з блочнай вобласцю, якое не можа быць зменена пасля ініцыялізацыі. Зменныя Const павінны быць ініцыялізаваны перад аб'яўленнем. Для зменных, якія застаюцца нязменнымі на працягу ўсяго свайго існавання, гэта аптымальна.
20. У TypeScript апішыце дэкаратары?
Аксэсор, уласцівасць, параметр, клас, функцыя або дэкаратар могуць быць аб'яўлены пэўным чынам як дэкаратары. Дэкаратары - гэта функцыі з прэфіксам @expression, якія будуць выкліканы падчас выканання з падрабязнай інфармацыяй аб упрыгожанай дэкларацыі.
Выраз павінен ацэньваць функцыю, каб дэкаратары маглі працаваць.
Дэкаратары TypeScript забяспечваюць мэту дэкларатыўнага дадання анатацый і інфармацыі ў бягучы код.
У нашым файле tsconfig.json або ў камандным радку вы павінны актываваць опцыю кампілятара experimentalDecorators, каб уключыць эксперыментальную падтрымку дэкаратараў:
21. Што азначаюць Mixins у TypeScript?
Міксіны - гэта метад стварэння класаў з шматразовых частак у Javascript і змешвання частковых класаў для стварэння больш складаных поўных класаў.
Канцэпцыя простая: функцыя B прымае клас A і вяртае новы клас з дабаўленай функцыянальнасцю, у адрозненне ад класа A, які пашырае клас B для атрымання яго функцыянальнасці. Функцыя B у дадзеным выпадку з'яўляецца міксінам.
22. Што такое псеўданімы тыпаў у TypeScript?
Псеўданімы тыпу змяняюць назву тыпу. Псеўданімы тыпаў, як і інтэрфейсы, можна выкарыстоўваць для наймення прымітываў, аб'яднанняў, картэжаў і любых іншых тыпаў, якія ў адваротным выпадку трэба было б вызначаць уручную.
Псеўданімы не ствараюць новы тып; хутчэй, гэта змяняе назву існуючага тыпу. Псеўданім прымітыва не зусім практычны, хоць можа быць карысным для дакументацыі.
Псеўданімы тыпаў, як і інтэрфейсы, могуць быць універсальнымі; усё, што вам трэба зрабіць, гэта дадаць параметры тыпу і выкарыстоўваць іх у правым баку дэкларацыі псеўданіма.
23. Што азначае тэрмін «пераменная вобласці»?
JavaScript падтрымлівае як лакальныя, так і глабальныя зменныя вобласці. Вобласць - гэта набор аб'ектаў, зменных і функцый.
Прыклад аб'явы зменнай у двух абласцях:
- Пераменная з лакальнай вобласцю - яна служыць функцыянальным аб'ектам для выкарыстання ў функцыях.
- Зменная з глабальным аб'ёмам - гэты аб'ект акна можна выкарыстоўваць як унутры, так і па-за функцыямі
24. Для чаго менавіта выкарыстоўваецца noImplicitAny?
Апрацоўка кампілятарам TypeScript няяўных любых тыпаў вашага праекта змяняецца ўласцівасцю noImplicitAny у файле канфігурацыі tsconfig.json для праектаў TypeScript.
Сцяг noImplicitAny можа быць усталяваны ў значэнне true або false і заўсёды можа быць зменены пасля ініцыялізацыі. Улічваючы, што кожны праект унікальны, няма правільнага ці няправільнага адказу на тое, якім павінен быць гэты лік.
Разуменне адрозненняў паміж уключаным і выключаным станамі сцяга можа дапамагчы вам выбраць, якую наладу выкарыстоўваць для сцяга.
Кампілятар не вызначае тып зменнай на аснове таго, як яна выкарыстоўваецца, калі сцяг noImplicitAny усталяваны ў false (па змаўчанні). Замест гэтага кампілятар па змаўчанні ўсталёўвае любы тып.
Аднак, калі для параметра noImplicitAny усталявана значэнне true, кампілятар прыкладзе намаганні, каб вывесці тып, і выкліча памылку падчас кампіляцыі, калі ён не можа гэтага зрабіць.
25. Як тыпы аб'яднання і перакрыжавання адрозніваюцца адзін ад аднаго?
Замест таго, каб ствараць новыя тыпы з нуля, аб'яднанні і тыпы перасячэнняў дазваляюць вам складаць і змешваць існуючыя тыпы. І аб'яднанне, і скрыжаванне маюць адметныя якасці, якія робяць іх ідэальнымі для пэўных выпадкаў выкарыстання.
Тып, які можа быць адным з некалькіх відаў, называецца тыпам аб'яднання. Спіс тыпаў, якія будуць выкарыстоўвацца ў новым тыпе, падзелены знакам | (вертыкальная паласа) сімвал у тыпах саюзаў.
Давайце паглядзім на ілюстрацыю:
З іншага боку, скрыжаванне вызначаецца як тып, які аб'ядноўвае мноства тыпаў у адзін, аб'ядноўваючы ўсе асаблівасці кожнага тыпу для стварэння новага тыпу. Спіс відаў, якія будуць аб'яднаны, падзелены на скрыжаванні з дапамогай сімвала &.
Разгледзім ілюстрацыю:
26. Як вы вызначаеце ключавое слова TypeScript Declare?
У бібліятэках або фрэймворках JavaScript няма файлаў дэкларацый TypeScript. Аднак вы павінны выкарыстоўваць ключавое слова declare, каб выкарыстоўваць іх у файле TypeScript без памылак кампіляцыі.
Калі вы жадаеце ўказаць зменную, якая ўжо магла б існаваць у іншым месцы, вы выкарыстоўваеце ключавое слова declare у дэкларацыях навакольнага асяроддзя і метадах.
27. Што такое ўніверсалы ў TypeScript?
Інструмент пад назвай TypeScript Generics прапануе метад вытворчасці шматразовых частак. Замест таго, каб працаваць толькі з адной формай даных, ён можа распрацоўваць кампаненты, якія могуць працаваць з дыяпазонам тыпаў даных.
Акрамя таго, ён забяспечвае бяспеку тыпу без шкоды для эфектыўнасці або прадукцыйнасці. Мы можам ствараць агульныя класы, агульныя функцыі, агульныя метады і агульныя інтэрфейсы дзякуючы генерыкам.
Генерыкі - гэта высока тыпізаваныя калекцыі, паколькі параметр тыпу запісваецца паміж адкрытымі () і закрытымі (>) дужкамі. Ён выкарыстоўвае ўнікальны тып зменнай тыпу T, якая азначае тыпы.
28. Што азначае JSX у TypeScript?
JSX - гэта законны JavaScript, які можна пераўтварыць з убудаванага сінтаксісу, падобнага на XML. Разам з фрэймворкам React набыў папулярнасць JSX.
Прамая кампіляцыя, праверка тыпу і ўбудаванне JSX у JavaScript падтрымліваюцца TypeScript. Вы павінны даць вашаму файлу пашырэнне a.tsx і актываваць опцыю JSX, калі вы хочаце выкарыстоўваць яго.
29. Што такое TypeScript Ambients і калі я павінен іх выкарыстоўваць?
Кампілятар атрымлівае інфармацыю аб рэальным зыходным кодзе, які знаходзіцца ў іншым месцы, праз дэкларацыі навакольнага асяроддзя.
Ён зламаецца без папярэдняга паведамлення, калі мы паспрабуем выкарыстаць гэтыя зыходныя коды падчас выканання, але яны адсутнічаюць. Файлы, падобныя на дакументы, - гэта файлы дэкларацый навакольнага асяроддзя.
Калі зыходны код змяняецца, дакументацыя павінна быць абноўлена, і, калі файл дэкларацыі асяроддзя не будзе зменены, узнікнуць праблемы з кампілятарам.
Акрамя таго, гэта дазваляе нам выкарыстоўваць вядомыя бібліятэкі JavaScript, якія ўжо шырока выкарыстоўваюцца, такія як jQuery, AngularJS, NodeJS і г.д.
30. Што вы маеце на ўвазе пад абстрактным класам у TypeScript?
Абстрактныя класы вызначаюць кантракт аб'екта, не дапушчаючы прамога стварэння асобніка аб'екта. Аднак абстрактны клас таксама можа прапанаваць інфармацыю аб рэалізацыі свайго члена.
Адзін або некалькі абстрактных членаў можна знайсці ў абстрактным класе. Затым абстрактныя члены суперкласа павінны мець рэалізацыю, забяспечаную любымі класамі, якія пашыраюць абстрактны клас.
Давайце паглядзім на прыклад TypeScript абстрактнага класа і на тое, як іншы клас можа яго пашырыць. Нягледзячы на тое, што класы Car і Bike у прыкладзе ніжэй пашыраюць клас Vehicle, кожны з іх рэалізуе функцыю drive() унікальным спосабам.
31. Што такое файл TypeScript Map?
Зыходны файл карты, які называецца TypeScript Map file, утрымлівае даныя аб нашых зыходных файлах. Файлы зыходнай карты, або файлы .map, дазваляюць інструментам супаставіць код JavaScript, які выводзіцца, і зыходныя файлы TypeScript, якія яго ствараюць.
Акрамя таго, гэтыя файлы могуць выкарыстоўвацца адладчыкамі, што дазваляе нам адладжваць файл TypeScript, а не файл JavaScript.
32. Што такое зацвярджэнне тыпу ў TypeScript?
У той час як зацвярджэнне тыпу функцыянуе падобна прывядзенню тыпаў у іншых мовах, такіх як C# і Java, яно не выконвае праверку тыпу або перастаноўку даных.
У той час як зацвярджэнне тыпу не ўплывае на час выканання, прывядзенне тыпу прапануе такую падтрымку. Зацвярджэнні тыпу, з іншага боку, выкарыстоўваюцца толькі кампілятарам і даюць рэкамендацыі аб тым, як мы хочам, каб наш код быў правераны.
заключэнне
У заключэнне, мы спадзяемся, што гэтыя пытанні для інтэрв'ю па TypeScript будуць карыснымі для вас, незалежна ад таго, з'яўляецеся вы распрацоўшчыкам, які рыхтуецца да сумоўя, ці менеджарам па найму, які спрабуе знайсці лепшага кандыдата.
Памятайце, што працэс найму патрабуе не толькі тэхнічных ведаў. Каб гарантаваць, што вы атрымаеце (або знойдзеце падыходзячага прэтэндэнта) на працу, мінулы вопыт і навыкі зносін маюць аднолькавае значэнне.
Многія пытанні інтэрв'ю па TypeScript адкрытыя і не маюць адзінага правільнага адказу, таму майце гэта на ўвазе.
Інтэрв'юераў цікавіць абгрунтаванне вашых адказаў.
Заўсёды будзьце гатовыя да наступных запытаў, якія тлумачаць, як вы прыйшлі да свайго адказу. Апішыце свой працэс мыслення.
Пакінуць каментар