Share

Phàm Nhân Tu Types – Chương 1: Tẩy tủy phạt cốt (TypeScript Cơ Bản)

pntt c1

Kính chào chư vị đạo hữu.

Chào mừng đã chính thức bước chân vào lộ trình gian khổ của Phàm Nhân Tu Types.

Hôm nay, chúng ta sẽ bắt đầu bằng việc thay đổi căn cốt. Muốn dung nạp trọn vẹn bộ công pháp TypeScript này vào đan điền, đạo hữu buộc phải tự phế bỏ đi sự phóng túng đã thành thói quen trong những tháng ngày còn tham ngộ trận văn JavaScript.

Tại sao phải tự trói buộc mình?

Khi còn ở Luyện Khí kỳ vẫy vùng cùng JavaScript, đạo hữu hẳn đã quen với việc vung tay múa trảo, tùy ý khắc họa trận văn vô cùng sảng khoái. Một biến số vừa là chuỗi chữ, chớp mắt đã biến thành con số, rồi lại hóa thành một mảng dữ liệu khổng lồ. Sự linh hoạt ấy mang lại ảo giác về sức mạnh cường đại, khiến tiến độ xây dựng trận pháp cực kỳ thần tốc.

Nhưng trong giới tu chân, phàm là thứ gì có được quá dễ dàng thì đều ẩn chứa họa sát thân.

Giả sử đạo hữu đang khắc họa một đại trận hối đoái tại Vạn Bảo Các, cần kết nối với Linh Mạch – Backend để truy xuất định giá của pháp bảo. Theo giao ước, Linh Mạch sẽ truyền đến một luồng linh khí thuần túy mang giá trị bằng một con số thể hiện lượng linh thạch. Đạo hữu do thiếu kinh nghiệm thực chiến nên tin tưởng tuyệt đối, không màng thiết lập kết giới phòng bị mà dẫn thẳng luồng khí đó vào trận nhãn để tính toán.

Thế nhưng, tu tiên giới vốn hung hiểm khôn lường. Một ngày nọ Linh Mạch dao động, thay vì truyền tới một con số, nó lại nhả ra một đạo tàn niệm vô nghĩa, một chuỗi văn tự rỗng, hoặc tệ hơn là đứt đoạn hoàn toàn, không trả về gì cả. JavaScript với bản tính dung túng sẽ không hề cảnh báo. Nó mặc nhiên nuốt trọn dị vật, tự động bóp méo luồng tàn niệm kia và tiếp tục vận hành.

Đó chính là lúc một đạo kịch độc đã âm thầm cắm sâu vào trung tâm trận đồ. Mọi thứ bề ngoài vẫn bình yên, cho đến khi người phàm thao tác, kịch độc bộc phát thành ách nạn – Runtime Error, dẫn đến sụp đổ toàn bộ đại trận. Đạo hữu chỉ có thể than trời trách đất trong đêm tối mịt mù để dò dẫm lại từng nét trận văn.

TypeScript sinh ra để triệt tiêu viễn cảnh tàn khốc đó. Bằng cách định danh rõ ràng từng luồng khí tức, chúng ta chủ động giương lên những mảng kết giới bảo hộ, cự tuyệt mọi loại dữ liệu không đúng chuẩn mực trước khi chúng kịp đi vào vận hành.

Sự hiện diện của pháp tắc thiên đạo – Compiler

Khác biệt cốt lõi nhất khi bước sang tu luyện bộ công pháp này chính là sự hiện diện của pháp tắc thiên đạo – Compiler.

Đừng xem thường lực lượng pháp tắc dù chỉ một khắc. Trước khi trận đồ của đạo hữu được hoàn chỉnh và kích hoạt, bắt buộc phải nhận được sự công nhận của thiên đạo. Dưới sự rà soát của pháp tắc, từng ngóc ngách, từng đạo phù lục, mọi dòng trận văn đều khó lòng qua mắt. Giới tu chân gọi quá trình dò xét vô cùng cặn kẽ này là Kiểm tra kiểu tĩnh – Type checking.

Nếu đạo hữu đã lập thệ sẽ cung cấp một con số, nhưng lúc vận khí lại lén lút tuồn vào một chuỗi văn tự, trận đồ sẽ lập tức bị pháp tắc trói buộc, phong ấn triệt để mọi luồng linh lực. Pháp tắc thiên đạo vốn vô tình: nó thà để đạo hữu chịu sự dằn vặt, hao tổn tâm trí gọt giũa lại từng nét trận văn ngay tại cấm địa bế quan, tuyệt đối không dung túng để kịch độc lọt ra ngoài, tàn phá đại trận, gây họa cho chúng sinh.

Chạm trán pháp tắc thiên đạo

Để tường minh, tại hạ xin mạn phép minh họa bằng một đoạn trận văn sơ cấp.

Đây là thói quen của một phàm nhân dùng JavaScript:

function tinhToanGiaoDich(giaTien, soLuong) {
    return giaTien * soLuong;
}

// Đạo hữu vô tình truyền nhầm một chuỗi thay vì số
tinhToanGiaoDich(100, 'Hai');
JavaScript

Trong vị diện cũ, trận pháp này vẫn bình thản hấp thụ linh khí và sinh ra một dị vật mang tên NaN – Not a Number. Ám thương đã chính thức thành hình.

Nhưng khi vận hành bằng tâm pháp TypeScript, đạo hữu phải khai báo căn cốt rõ ràng cho từng tham số ngay từ lúc phác thảo:

function tinhToanGiaoDich(giaTien: number, soLuong: number) {
    return giaTien * soLuong;
}

tinhToanGiaoDich(100, 'Hai');
TypeScript

Ngay khi đạo hữu vừa dứt nét bút, chưa cần kích hoạt trận pháp, Thiên Đạo đã cảm nhận được chấn động, một đạo thiên phạt lập tức giáng xuống:

Argument of type ‘string’ is not assignable to parameter of type ‘number’.

Đó chính là sự ràng buộc, vạn pháp bất xâm của TypeScript.

Lời kết

Việc dung nhập một môn công pháp quá mức khắt khe vào đan điền trong những ngày sơ khởi sẽ mang lại cảm giác vô cùng bứt rứt. Nhiều tán tu ngao du trên Tàng kinh các siucode không chịu nổi sự trói buộc này đã sinh ra tâm ma, lén lút dùng tà thuật để lách luật, hòng nhất pháp phá vạn pháp, sau cùng là tự hủy hoại căn cơ của chính mình.

Tại hạ hy vọng đạo hữu hãy giữ vững đạo tâm. Sự gò bó của pháp tắc hôm nay chính là nền tảng cho những đại trận vô kiên bất tấc ngày sau. Ở chương tiếp theo, tại hạ sẽ hướng dẫn đạo hữu dùng thần thức nhận diện các loại linh căn cơ bản nhất trong thiên địa, từng bước đắp móng xây cơ!

Hậu hội hữu kỳ.

SiuCode – Vừa code vừa siuuuu

You may also like

Mục lục