Jak zacząć z maszynopis:

Sep 13, 2025
Jak

Maszynografia jest jedną z grupy języków, które używają Javascript. Runtime AS Execution Środowisko: Pliki zawierające kod maszynowy są kompilowane do normalnego JavaScript, który można następnie uruchomić przez przeglądarkę.

Jeremy Ashkenas po raz pierwszy sprawiło, że koncepcja popularna wraz z językiem coffeeScript, ale niestety, jego stosunkowo tierszowa składnia była trudna do nauki dla programistów zapoznanych z C # lub Visual Basic.

Ponieważ Microsoft rozszerzył się do technologii Web 2.0, zdecydował się wziąć inspirację z Jeremy'ego Ashkenasa. Ze względu na możliwości studiów wizualnych deweloperzy mogą po prostu włamać się podczas profilowania z różnych rozszerzeń językowych.

Używane maszyny nie ogranicza się do pisania statycznego: Jest również wyposażony w różnorodne zaawansowane funkcje, które umożliwiają symulację paradygmatów programowania zorientowanych obiektów w sieci. Ten krótki przewodnik przeniesie Cię przez niektóre z kluczowych funkcji. Jeśli językiem odwołuje się do Ciebie, więcej informacji można nauczyć w locie.

01. Zainstaluj Visual Studio

Visual Studio 2017 comes with a new installer; the required features are split into payloads to make deployment easier

Visual Studio 2017 jest wyposażony w nowy instalator; Wymagane funkcje są podzielone na ładunki, aby ułatwić wdrażanie

Nawet jeśli maszyny można również stosować na Linuksie lub MacO, będziemy trzymać się oficjalnym IDE Microsoft. Pobierz bezpłatną edycję społeczności Visual Studio 2017 Microsoft tutaj i upewnij się, że zaznacz ładunek ASP.NET podczas wdrażania.

02. Dodaj SDK

Ze względu na szybką kadencję typu ReleaseScript, Visual Studio musi zostać rozszerzone modułem SDK, który można pobrać witryna Microsoft tutaj . Wystarczy uruchomić instalatora, jak to był standardowy aplikacja Windows.

03. Pobierz maszyny magazynowe, na prawdziwe

Nie byłoby to Microsoft, gdyby nie byłoby niektórych dodatkowych kłopotów: Podczas gdy SDK uaktualniają instalację Visual Studio, rzeczywisty kompilator TSC nie jest dodawany do linii poleceń. Ten problem najlepiej rozwiązany za pomocą menedżera pakietu NPM NPM w NPM.JS w wierszu poleceń.

PS C: Użytkownicy Tamha Downloads & GT; NPM install -g maszynopis

C: Użytkownicy Tamha AppData Roaming NPM TSC - & GT; C: Użytkownicy Tamha AppData Roaming NPM Node_modules \ Testript BIN TSC

C: Użytkownicy Tamha AppData Roaming NPM TsServer - & GT; C: Użytkownicy Tamha AppData Roaming NPM Node_modules \ tSserript BIN TSSERVER

C: Użytkownicy Tamha AppData Roaming NPM

`- maszynopis Zdję[email protected].

04. Wyrwij się z projektu

Visual Studio spodziewa się pracować w procesie rozwiązania: podczas gdy interesujący jest to mniej niż idealne dla naszych potrzeb. Zamiast tego utwórz plik o nazwie pracownika.ts i umieść go w wygodnym miejscu w systemie plików. Otwórz go, przeciągając go do Visual Studio i upuść ją wewnątrz paska narzędzi na górze. Następnie zmodyfikuj jego zawartość, aby uwzględnić następujący kod:

 Funkcja Sayoi () {
  Alert ("Oi!");
}
Sayoi (); 

05. Utwórz punkt wejścia

Jak wspomniano we wstępie, plik .ts nie może zrobić wiele samodzielnie. Z uwagi na to, przejdź do tworzenia pliku o nazwie index.html, który musi znajdować się w tym samym folderze. Następnie dodaj pokazany kod szkieletu towarzyszący temu krokowi. Ładuje wyjście kompilatora i prowadzi ją tak, jakby był jakikolwiek inny bit JavaScript.

 HTML & GT;
  & lt; Head & GT;
  & lt; skrypt SRC = "pracownik.js" & gt; & lt; / script & gt;
  & LT; / Head & GT;
  & LT; Body & GT; & GT;
& lt; / html & gt; 

06. Kompiluj i biegnij

Następny krok obejmuje ręczną rekompulację pliku .ts. Otwórz PowerShell i wprowadź polecenie TSC, a następnie nazwę pliku wejściowego. Domyślnie plik wyjściowy udostępni nazwę pliku podstawowego, ale będzie miał przedłużenie .js zamiast .ts. Wreszcie otwórz plik index.html w przeglądarce wyboru, aby udowodnić pojawienie się pudełka wiadomości.

 PS C: Użytkownicy Tamha Pobieranie i GT; TSC. Pracownik.ts 

07. Uzyskaj wpisany

Use this reference table to find basic static types

Użyj tej tabeli odniesienia, aby znaleźć podstawowe typy statyczne

Do tej pory maszynki wykonało niewiele więcej niż działać jako bardziej złożone środowisko JavaScript. Następny krok obejmuje aktywowanie wsparcia dla pisania statycznego: umożliwia kompilatorowi wykonanie analizy statycznej parametrów, utrzymując nieprawidłowe wartości. W tym celu potrzebne jest zestaw typów - Typy podstawowe są wymienione w powyższej tabeli, podczas gdy klas zostaną omówione później.

08. Wypróbuj go

In normal JavaScript, this error would be found only when the line in question gets invoked

W normalnym JavaScript, ten błąd zostanie znaleziony tylko wtedy, gdy zostanie wywołana linia

Zmienne zadania typu maszynopisowe odbywają się przez "A:" umieszczone po nazwie zmiennej. Modyfikujmy naszą funkcję OI, aby wziąć numer, a zamiast tego przejdę do łańcucha. Wreszcie, wywołaj ponownie kompilator TSC, aby uczcić oczy na komunikat o błędzie pokazany w powyższym zrzutu ekranu - Visual Studio, nawiasem mówiąc, również podkreśla daną linię.

 Funkcja Sayoi (Whatosay: Number) {
  alert (Whatosay);
}
Sayoi ("Hello"); 

09. Unikaj prototypu

JavaScript wdraża orientację obiektową przez prototypowanie: styl kodu, który jest rzadkością w światach .NET i C / C ++. Typ składu rozwiązuje ten problem, umożliwiając tworzenie klas - proces pokazany w fragmence towarzyszącym tym kroku.

 Class Imagine {
  publiczne MyResult: Numer;
  publiczna Mya: liczba;
  publiczny MyB: numer;
  Konstruktor (_A: Numer, _B: Numer)
  {
  to.myresult = _a + _b;
  to.mya = _a;
  }
} 

10. Doceń opinię publiczną

The holding values created by setting the public attribute get populated automatically

Wartości holdingowe utworzone przez ustawienie atrybutu publicznego są wypełnione automatycznie

Zwykle atrybut publiczny służy do deklarowania, że ​​element programu ma być dostępny z zewnątrz. Gdy jest używany jako parametr konstruktora, zamiastu instruuje kompilator maszynopis, aby utworzyć lokalne pola o tych samych nazwach.

 Class Imagine {
  publiczne MyResult: Numer;
  // publiczny Mya: numer;
  Konstruktor (publiczna Mya: numer, publiczne _B: numer)
  {
  to.myresult = mya + _b;
  to.mya = mya;
  }
} 

11. Metoda i instancja

Rozwińmy naszą przykładową klasę, dostarczając go z metodą, która uzyskuje dostęp do wartości przechowywanych w MyResult i Myi i wysyła je na ekranie. Wreszcie nowy parametr służy do tworzenia instancji klasy - służy do wywołania metody.

 Class Imagine {
  publiczne MyResult: Numer;
  . . .
  Public_cededomething (): void {
  alert (to.myresult);
  }
}
Niech Myimagine: Imagine = New Imagine (2, 2);
Myimagine.Saysomething (); 

12. Użyj swoich magicznych funkcji

Konstrukcja języka typu składu ma na celu oszczędzanie programistów jak najwięcej wysiłku. Jedną z przyjemnej funkcji jest automatyczna populacja parametrów utworzonych za pomocą pokazanego skrótu.

 Class Imagine {
  publiczne MyResult: Numer;
  Konstruktor (publiczna Mya: Numer, publiczny MyB: Numer)
  {
  to.myresult = mya + myb;
  }
  Public_cededomething (): void {
  alert (ta.mya + "" + to.myb);
  }
} 

13. Wykonaj dziedziczenie

Our small example program proves that TypeScript satisfies the core tenets of object inheritance

Nasz mały przykładowy program dowodzi, że maszynopisy spełniają podstawowe zasady dziedziczenia obiektu

Jedną z podstawowych zasad programowania zorientowanego na obiekty obejmuje oparte na zajęciach na drugim. Zajęcia pochodne mogą następnie zastąpić zawartość swojej klasy bazowej, prowadząc do elastycznie regulowanych hierarchii klasy.

 Przyszłość klasy rozciąga się wyobraź sobie
{
  Public_cededomething (): void {
  konsola.log (ta.mya);
  }
} 

14. Przeanalizuj nadpisanie

Fragment kodu z góry przedłużył klasę wyobraźni o podceniorze zwaną przyszłością. Przyszłość różni się od wyobrażenia, że ​​jego metoda przesunięcia, bardziej ewoluowała, emituje wiadomość do wiersza poleceń przeglądarki.

 Niech Myimagine: Wyobraź sobie = nowa przyszłość (2, 2);
Myimagine.Saysomething ();
Niech MyFuture: Future = Nowa przyszłość (9, 9);
myfuture.saysomething (); 

15. Przeanalizuj nadpisanie, Redux

Z tym rzeczywisty kod można przetestować. Po uruchomieniu konsola przeglądarki będzie zawierać dwa inwokacje przyszłości - klasa zaawansowana utrzymuje swoje właściwości, nawet gdy wywołuje się jako obiekt wyobrażalny.

16. Ograniczony dostęp

Odsłaniające zmienne członkowskie z publicznym modyfikatorem jest niepopularny: w końcu zabiera większość kontroli nad tym, co użytkownicy wykonują zawartością zmiennej. Akcesoria typu maszynopisowe pozwalają pracować w tym problemie w sposób podobny do tradycyjnego OOP. Bądź świadomy, że obsługiwane są również członkowie tylko do odczytu, ale wykorzystanie tej funkcji wymaga aktywacji wsparcia ECMascript5.

 Public _MyCache: ciąg;
  Uzyskaj FullCache (): String {
  zwróć to ._myCache;
  }
  Ustaw FullCache (Newx: String) {
  Jeśli (Newx == "Hello") {
  to._mycache = newx;
  }
  inaczej {
  Console.log ("niewłaściwe dane!");
  }
  } 

17. Utwórz to abstrakcyjne

Zdolność do tworzenia złożonych hierarchii dziedziczenia zmotywuje programistów, aby spróbować szczęścia w klasach abstrakcyjnych. Masekscript ma również objęty tym względem - przykład towarzyszący temu krokowi tworzy klasę z abstrakcją i realnym członkiem. Próbowanie tworzenia instancji klasy abstrakcyjnej bezpośrednio prowadzi do błędu kompilatora.

 Streszczenie klasy Imagine {
  publiczne MyResult: Numer;
  abstrakcyjny sayname (): void;
  Konstruktor (publiczna Mya: Numer, publiczny MyB: Numer) {
  to.myresult = mya + myb;
  }
  Public_cededomething (): void {
  alert (ta.mya + "" + to.myb);
  }
}
Future Class Extends Imagine {
  . . .
  publiczna sayname () {
  Console.log ("Hello");
  }
} 

18. Zrób interfejs

Ponieważ struktury obiektów stają się bardziej złożone, deweloperzy często znajdują się w obliczu sytuacji, w których jedna klasa implementuje wiele bitów logiki. W takim przypadku interfejs zapewnia ładny obejście - przykład pokazuje, czego się spodziewać.

 Interface Datainterface {
  pole: numer;
  Workmethod (): nieważność;
} 

19. Wdrożenie

Podobnie jak w przypadku klasy powyżej, interfejs nie ma zbyt dobrego, jeśli nie możemy go użyć. Na szczęście wdrażanie nie jest szczególnie trudne: bądź świadomy, że autorzy interfejsu mogą ponadto zadeklarować części ich stworzenia, aby być opcjonalnym.

 Pracownik klasy implementuje Dataindterface {
  pole: numer;
  Workmethod (): void {
  rzuć nowy błąd ("Metoda nie została zaimplementowana");
  }
  } 

20. Użyj klasy ogólnej

Kompilator maszynopisowych wymusza ścisłą zmienną sprawdzanie ważności. Podczas pracy w klasie pamięci, generycznie pozwalają na pozwolenie, aby użytkownik końcowy określi typ, który ma być obsługiwany. Ponadto maszynopis Umożliwia również inne elementy ogólne, takie jak funkcje, jak pokazano w (tautologicznym) fragmencie pobranym z dokumentacji.

 // Funkcja ogólna
Tożsamość funkcji (Arg: Numer): Numer {
  zwrócić arg;
}
// Klasa ogólna
Klasa GenericNumber's T & GT; {
  Zerovalue: t;
  Dodaj: (x: t, y: t) = & gt; T; } 

21. Pytanie wyliczenia

Maszyny państwowe i podobne elementy korzystają znacznie od sposobu ograniczenia zmiennej do przechowywania kilku dobrze określonych stanów. Można to osiągnąć za pomocą typu danych enum:

 Enum Parserstate {
  Idle = 1,
  Czytaj0,
  Czytaj1.
}
Wyobraźnia klasy {
  Publiczny Mystate: Parserstate;
  Konstruktor (publiczna Mya: Numer, publiczny MyB: Numer)
  {
to.miystate = parserstate.idle; 

22. Dowiedz się więcej

Zakrywanie języka jako złożonego jak maszynopaster w jednym artykule jest prawie niemożliwy. Spójrz na Przykłady miejsca typu maszyn maszynowych aby dowiedzieć się więcej o wiązaniach językowych.

Ten artykuł został pierwotnie opublikowany w wydaniu 266 Projektant stron internetowych , The Creative Web Design Magazine - oferujący samouczki eksperckie, najnowocześniejsze trendy i bezpłatne zasoby. Kup problem 266 tutaj lub Subskrybuj tutaj projektant stron internetowych .

Specjalna oferta świąteczna: Zaoszczędź do 49% na subskrypcji do projektanta WWW Dla ciebie lub przyjaciela na Boże Narodzenie. To ograniczona oferta, więc poruszaj się szybko ...

Powiązane artykuły:

  • 20 narzędzi JavaScript, aby wysadzić twój umysł
  • Naucz się udostępniać swój JavaScript
  • 12 Odpowiedzi na 12 pytań JavaScript

Jak - Najpopularniejsze artykuły

Utwórz scenę z Renderman dla Maya

Jak Sep 13, 2025

(Kredyt obrazu: Jeremy Heintz) W tym renotynowym samouczku Majów pokryjemy różne tematy, zaczynając od tworzenia ..


Jak używać inteligentnych warstw w Photoshopie

Jak Sep 13, 2025

Przy uwzględnieniu powtarzających się wzorów i wzorów w ilustracji, niewiele narzędzi będzie tak przydatne lub jako potę�..


Jak zaprojektować doświadczenie chatbota

Jak Sep 13, 2025

Niezależnie od tego, czy chcielimy przyznać, czy nie, platformy interakcji Messaging wkładają do naszego codziennego ekranu e..


Jak podkreślić centralny punkt obrazu

Jak Sep 13, 2025

Korzystanie z elementów Twojego Ołówek underdrawing jest świetnym sposobem na przyjęcie uwagi widza w kawałk..


Jak zaprojektować idealną okładkę książki

Jak Sep 13, 2025

Samodzielne publikowanie stanowi 22 procent rynku ebook w Wielkiej Brytanii i kontynuuje wzrost, co oznacza, że ​​autorzy co..


Farba na mokro w olejach

Jak Sep 13, 2025

Malowanie "alla prima" (czyli malowanie mokry na mokro, w jednej sesji) jest idealną techniką obejmującą charakter farb olejn..


Zrób typograficzny plakat za pomocą Adobe InDesign

Jak Sep 13, 2025

Adobe InDesign jest świetnym programem do użycia podczas projektowania wszystkiego, co używa typowego typu. W całym tym samou..


Jak zaprojektować promocję dla wyimaginowanej marki

Jak Sep 13, 2025

Przy projektowaniu marki, niezależnie od tego, czy jest to ustalony lub uruchomienie, w którym biorąc twórczy przewód, konsystencja we wszystkich punktach dotykowych jest kluczowa. ..


Kategorie