Tallecript là một trong những nhóm ngôn ngữ sử dụng JavaScript. Thời gian chạy dưới dạng môi trường thực thi: .ts Các tệp chứa mã typcript được biên dịch thành JavaScript thông thường, sau đó có thể được trình duyệt chạy.
Jeremy Ashkenas lần đầu tiên làm cho khái niệm này phổ biến với ngôn ngữ CoffeeScript của mình, nhưng thật đáng buồn, cú pháp tương đối khó hiểu của nó rất khó để học các nhà phát triển quen với C # hoặc Visual Basic.
Khi Microsoft mở rộng thành các công nghệ Web 2.0, họ đã chọn cảm hứng từ Jeremy Ashkenas. Do khả năng của Visual Studio, các nhà phát triển có thể chỉ cần hack đi trong khi thu lợi nhuận từ các phần mở rộng ngôn ngữ khác nhau.
TalleScript không giới hạn ở việc gõ tĩnh: Nó cũng đi kèm với nhiều tính năng nâng cao cho phép bạn mô phỏng các mô hình lập trình hướng đối tượng trên web. Hướng dẫn ngắn này sẽ đưa bạn qua một số tính năng chính của nó. Nếu ngôn ngữ hấp dẫn bạn, nhiều thông tin có thể được học trên bay.
Mặc dù typcript cũng có thể được sử dụng trên Linux hoặc MacOS, chúng tôi sẽ tuân theo IDE chính thức của Microsoft. Tải xuống phiên bản cộng đồng miễn phí của Visual Studio 2017 từ Microsoft, tại đây và đảm bảo đánh dấu tải trọng ASP.NET trong quá trình triển khai.
Do nhịp phát hành nhanh của tytcript, Visual Studio cần được mở rộng bằng mô-đun SDK, có thể tải xuống từ Trang web của Microsoft ở đây . Chỉ cần chạy trình cài đặt như thể nó là một ứng dụng Windows tiêu chuẩn.
Sẽ không phải là Microsoft nếu không có một số rắc rối thêm liên quan: trong khi SDK nâng cấp cài đặt Visual Studio của bạn, trình biên dịch TSC thực tế sẽ không được thêm vào dòng lệnh của bạn. Vấn đề này được giải quyết tốt nhất bằng cách sử dụng trình quản lý gói NPM của NODE.JS trên dòng lệnh.
PS C: \ Users \ Tamha \ Tải xuống & GT; Cài đặt NPM -G TypeScript
C: \ Users \ Tamha \ AppData \ Roaming \ NPM \ TSC - & GT; C: \ Users \ Tamha \ appdata \ roaming \ npm \ node_modules \ typcript \ bin \ tsc
C: \ Users \ Tamha \ appdata \ roaming \ npm \ tsserver - & gt; C: \ Users \ Tamha \ appdata \ roaming \ npm \ node_modules \ typcript \ bin \ tsserver
C: \ Users \ Tamha \ appdata \ roaming \ npm
Visual Studio hy vọng sẽ làm việc trong một quy trình tập trung giải pháp: Trong khi thú vị, thì điều này ít hơn lý tưởng cho nhu cầu của chúng tôi. Thay vào đó, hãy tạo một tệp có tên Worker.ts và đặt nó ở một vị trí thuận tiện trong hệ thống tệp của bạn. Mở nó bằng cách kéo nó vào Visual Studio và thả nó vào trên thanh công cụ trên đầu trang. Tiếp theo, sửa đổi nội dung của nó để bao gồm các mã sau:
Hàm sayoi () {
cảnh báo ("oi!");
Không thể
Sayoi ();
Như đã đề cập trong phần giới thiệu, một tệp .ts không thể tự làm nhiều việc. Do đó, tiến hành tạo một tệp có tên index.html, phải được đặt trong cùng một thư mục. Tiếp theo, thêm mã Skeleton được hiển thị kèm theo bước này. Nó tải đầu ra của trình biên dịch và chạy nó như thể đó là bất kỳ bit nào khác của JavaScript.
& lt; html & gt;
& lt; Head & GT;
& lt; script src = "worker.js" & gt; & lt; / script & gt;
& lt; / head & gt;
& lt; body & gt; & lt; / body & gt;
& lt; / html & gt;
Bước tiếp theo liên quan đến việc biên dịch lại thủ công của tệp .ts. Mở PowerShell và nhập lệnh TSC theo sau là tên của tệp đầu vào. Theo mặc định, tệp đầu ra sẽ chia sẻ tên tệp cơ sở, nhưng sẽ có phần mở rộng .js thay vì .ts. Cuối cùng, hãy mở tệp index.html trong trình duyệt lựa chọn để chứng minh sự xuất hiện của hộp thông báo.
PS C: \ Users \ TamHa \ Tải xuống & GT; TSC. \ Worker.ts
Cho đến nay, Tallecript đã thực hiện ít hơn một ít hơn là một môi trường JavaScript phức tạp hơn. Bước tiếp theo liên quan đến việc kích hoạt hỗ trợ để gõ tĩnh: Nó cho phép trình biên dịch thực hiện phân tích tĩnh về các tham số, giữ các giá trị không hợp lệ. Đối với điều này, một tập hợp các loại là cần thiết - các loại cơ bản được liệt kê trong bảng trên, trong khi các lớp sẽ được thảo luận sau.
Các bài tập kiểu biến sắp xếp diễn ra thông qua 'A:' được đặt sau tên biến. Hãy để chúng tôi sửa đổi chức năng OI của chúng tôi để lấy một số và thay vào đó hãy để chúng tôi vượt qua chuỗi. Cuối cùng, hãy gọi trình biên dịch TSC một lần nữa để tìm kiếm đôi mắt của bạn trên thông báo lỗi được hiển thị trong ảnh chụp màn hình trên - Visual Studio, tình cờ, cũng sẽ làm nổi bật dòng trong câu hỏi.
Chức năng Sayoi (WhatToSay: Số) {
cảnh báo (WhatteSay);
Không thể
Sayoi ("Xin chào");
JavaScript thực hiện hướng đối tượng thông qua tạo mẫu: một kiểu mã không phổ biến trong các thế giới .NET và C / C ++. Tyscript giải quyết vấn đề này bằng cách cho phép tạo các lớp - một quy trình hiển thị trong đoạn trích đi kèm với bước này.
Lớp học tưởng tượng {
MyResult: số;
Công khai Mya: Số;
MYB công khai: số;
hàm tạo (_a: số, _b: số)
Đồn là
therm.myresult = _a + _b;
cái này.mya = _a;
Không thể
}
Thông thường, thuộc tính công cộng được sử dụng để khai báo rằng một yếu tố của một chương trình có thể truy cập được từ bên ngoài. Khi được sử dụng làm tham số hàm tạo, thay vào đó, nó hướng dẫn trình biên dịch typcript tạo các trường cục bộ có cùng tên.
Lớp học tưởng tượng {
MyResult: số;
// Công khai Mya: Số;
Constructor (công khai Mya: Số, công khai _b: Số)
Đồn là
This.Myresult = Mya + _b;
cái này.mya = mya;
Không thể
}
Chúng ta hãy mở rộng lớp ví dụ của chúng tôi bằng cách cung cấp nó với một phương thức truy cập các giá trị được lưu trữ trong MyResult và Mya và xuất chúng trên màn hình. Cuối cùng, tham số mới được sử dụng để tạo một thể hiện của lớp - nó được sử dụng để gọi phương thức.
Lớp học tưởng tượng {
MyResult: số;
. . .
Saison Saison Saison (): Void {
cảnh báo (This.Myresult);
Không thể
Không thể
Hãy để myimagine: tưởng tượng = mới tưởng tượng (2, 2);
myimagine.says Something ();
Thiết kế ngôn ngữ của Tallecript nhằm cứu các nhà phát triển càng nhiều nỗ lực càng tốt. Một tính năng đẹp là dân số tự động của các tham số được tạo bằng phím tắt hiển thị.
Lớp học tưởng tượng {
MyResult: số;
Constructor (Public Mya: Số, MYB công cộng: Số)
Đồn là
This.Myresult = Mya + MYB;
Không thể
Saison Saison Saison (): Void {
cảnh báo (thench.mya + "" + this.myb);
Không thể
}
Một trong những nguyên lý cốt lõi của lập trình hướng đối tượng liên quan đến các lớp học trên đỉnh của nhau. Các lớp dẫn xuất sau đó có thể ghi đè nội dung của lớp cơ sở của họ, dẫn đến hệ thống phân cấp lớp có thể điều chỉnh linh hoạt.
Tương lai lớp học mở rộng trí tưởng tượng
Đồn là
Saison Saison Saison (): Void {
Console.log (this.Mya);
Không thể
}
Đoạn mã từ trên đã mở rộng lớp Hãy tưởng tượng với phần tử phụ được gọi là trong tương lai. Tương lai khác với tưởng tượng trong đó là phương pháp Search Something của nó, được phát triển hơn, phát ra một thông báo vào dòng lệnh của trình duyệt.
Hãy để Myimagine: Hãy tưởng tượng = tương lai mới (2, 2);
myimagine.says Something ();
Hãy để myfuture: tương lai = tương lai mới (9, 9);
myfuture.says Something ();
Với đó, mã thực tế có thể được kiểm tra. Khi chạy, bảng điều khiển trình duyệt sẽ chứa hai cách trong tương lai - lớp nâng cao giữ các thuộc tính của nó ngay cả khi được gọi là một đối tượng tưởng tượng.
Tiếp xúc với các biến thành viên với công cụ sửa đổi công khai là không phổ biến: Rốt cuộc, sau tất cả, mang đi hầu hết quyền kiểm soát những gì người dùng làm với nội dung của biến. Tuyên bố truy cập cho phép bạn giải quyết vấn đề này theo cách tương tự như OOP truyền thống. Xin lưu ý rằng các thành viên chỉ đọc cũng được hỗ trợ, nhưng việc sử dụng tính năng này yêu cầu kích hoạt hỗ trợ ECMASSCRATE5.
công khai _mycache: chuỗi;
Nhận FullCache (): Chuỗi {
Trả lại._mycache;
Không thể
Đặt fullcache (newx: chuỗi) {
if (newx == "Xin chào") {
this._mycache = newx;
Không thể
khác {
Console.log ("Dữ liệu sai!");
Không thể
}
Khả năng tạo ra các hệ thống phân cấp thừa kế phức tạp sẽ thúc đẩy các nhà phát triển thử vận may tại các lớp trừu tượng. TalleScript cũng có bạn đề cập đến vấn đề đó - ví dụ kèm theo bước này tạo một lớp với một bản tóm tắt và một thành viên thực sự. Cố gắng khởi tạo lớp trừu tượng trực tiếp dẫn đến một lỗi trình biên dịch.
Tóm tắt lớp Hãy tưởng tượng {
MyResult: số;
Tóm tắt Sayname (): Void;
Constructor (Public Mya: Số, MYB: Số) {
This.Myresult = Mya + MYB;
Không thể
Saison Saison Saison (): Void {
cảnh báo (thench.mya + "" + this.myb);
Không thể
Không thể
Lớp học kéo dài tưởng tượng {
. . .
Công khai Sayname () {
Console.log ("Xin chào");
Không thể
}
Khi các cấu trúc đối tượng trở nên phức tạp hơn, các nhà phát triển thường thấy mình đối mặt với các tình huống nơi một lớp thực hiện nhiều bit logic. Trong trường hợp đó, một giao diện tạo nên một cách giải quyết tốt đẹp - ví dụ cho thấy những gì mong đợi.
Giao diện DataintFace {
lĩnh vực: số;
WorkerMethod (): Void;
}
Như trong trường hợp của lớp trên, một giao diện chúng ta không tốt nếu chúng ta không thể sử dụng nó. May mắn thay, việc triển khai nó không đặc biệt khó khăn: nhận thức được rằng các tác giả giao diện có thể, hơn nữa, tuyên bố các phần sáng tạo của họ là tùy chọn.
Công nhân lớp thực hiện datainterface {
lĩnh vực: số;
WorkerMethod (): Void {
Ném lỗi mới (phương thức "không được triển khai.");
Không thể
}
Trình biên dịch Typecript thực thi kiểm tra tính hợp lệ biến nghiêm ngặt. Khi làm việc trên một lớp lưu trữ, Generic cho phép bạn để người dùng cuối xác định loại được xử lý. Hơn nữa, Tallecript cũng cho phép các yếu tố chung khác như các hàm, như được hiển thị trong đoạn trích (sơ đồ) được lấy từ tài liệu.
// Chức năng chung
Nhận dạng chức năng (arg: số): Số {
trở về arg;
Không thể
// lớp chung
lớp GenericNumber & LT; T & GT; Đồn là
zerovalue: t;
thêm: (x: t, y: t) = & gt; T; }
Các máy nhà nước và các yếu tố tương tự được hưởng lợi rất nhiều từ việc có một cách để hạn chế một biến để lưu trữ một vài trạng thái được xác định rõ. Điều này có thể được thực hiện bằng cách sử dụng loại dữ liệu Enum:
Enum Parserstate {
Nhàn rỗi = 1,
Đọc0,
Đọc1.
Không thể
lớp học tưởng tượng {
Công cộng Mystate: Parserstate;
Constructor (Public Mya: Số, MYB công cộng: Số)
Đồn là
therm.mystate = parserstate.idle;
Bao gồm một ngôn ngữ phức tạp như Typecript trong một bài viết là gần như không thể. Nhìn vào Các ví dụ của trang web sắp xếp để tìm hiểu thêm về các ràng buộc ngôn ngữ.
Bài viết này ban đầu được xuất bản trong số phát hành 266 Nhà thiết kế web , Tạp chí thiết kế web sáng tạo - cung cấp các hướng dẫn chuyên gia, xu hướng tiên tiến và tài nguyên miễn phí. Mua số phát hành 266 tại đây hoặc là Đăng ký nhà thiết kế web ở đây .
Ưu đãi Giáng sinh đặc biệt: Tiết kiệm tới 49% cho đăng ký vào Trình thiết kế web cho bạn hoặc một người bạn cho Giáng sinh. Đó là một ưu đãi hạn chế, vì vậy hãy di chuyển nhanh chóng ...
Những bài viết liên quan:
[số 8] (Tín dụng hình ảnh: Getty Images) Học cách thay đổi phông chữ trong Instagram Bio của bạn ..
[số 8] (Tín dụng hình ảnh: Phil Nolan) Chụp thực tế là một cách tuyệt vời để thực hiện qu..
[số 8] Ở Houdini 17, SideFX đã giới thiệu một số công cụ mới và nâng cao những người khác để mở r�..
[số 8] Hoạt hình trên web là ở đây để ở. Đó là trong tất cả mọi thứ, từ các phong trào tinh tế gi..
[số 8] Chỉ có tốt nghiệp mùa hè năm ngoái, tôi vẫn còn khá mới với thế giới minh họa tự do. Phong c�..
[số 8] Chuẩn bị tài sản để sử dụng kỹ thuật số là một nhiệm vụ cốt lõi cho Nhà thiết k�..
Sơn dầu cung cấp phương tiện lý tưởng để đạt được cọ vẽ mạnh mẽ và thú vị. Phong cách của một nghệ sĩ cọ vẽ là những gì định nghĩa công..
[số 8] Di chuyển giữa các chương trình có thể gây nhầm lẫn. Tôi có xu hướng dính vào bốn nhóm thực p..