Node.js và JavaScript

Vì được viết dựa trên JavaScript nên rất nhiều tính năng trong Node.js được kế thừa từ ngôn ngữ JavaScript. Trong phần này chúng ta sẽ tìm hiểu cú pháp, kiểu dữ liệu, các vòng lặp và cấu trúc điều khiển trong Node.js.

Khai Báo Biến

Khai báo biến trong Node.js giống với JavaScript.

var name = "Node.js";
console.log(name);

Chạy

Phép Toán

Các phép toán trong Node.js giống với phép toán có trong JavaScript.

var a = 100;
var b = 5;
console.log(a + b);
console.log(a * b);
console.log(a/b);

Chạy

Hàm

Cách khai báo hàm và gọi hàm trong Node.js giống như trong JavaScript.

function say(lang) {
    console.log("Xin chào " + lang);
}
say("Node.js");

Chạy

Kiểu Dữ Liệu

Node.js thừa kế toàn bộ các kiểu dữ liệu có trong JavaScript bao gồm kiểu số (số nguyên, số thập phân), kiểu chuỗi, kiểu mảng, kiểu đối tượng (object)...

var lang = {
    server: ["Node.js", "PHP"],
    client: ["HTML", "CSS", "JavaScript"]
}
console.log(lang.server);
console.log(lang.client);

Chạy

Thuộc Tính và Phương Thức

JavaScript là một ngôn ngữ lập trình hướng đối tượng. Một số kiểu dữ liệu như kiểu chuỗi, kiểu mảng, kiểu số thừa kế từ kiểu dữ liệu đối tượng (object). Node.js thừa kế các kiểu dữ liệu cũng như toàn bộ các thuộc tính và phương thức của các kiểu dữ liệu này từ JavaScript.

var name = "Node.js";
// đếm số ký tự sử dụng thuộc tính length
console.log(name.length); // 7
// tìm vị trí của dấu chấm trong chuỗi sử dụng phương thức indexOf()
console.log(name.indexOf(".")); // 4

Chạy

Ở ví dụ trên kiểu dữ liệu của biến name là kiểu chuỗi và do đó biến này có các thuộc tính của kiểu chuỗi có trong JavaScript như length cũng như các phương thức của kiểu chuỗi như indexOf().

Vòng Lặp

Node.js thừa kế các kiểu vòng lặp trong JavaScript.

for (var i = 0; i < 5; i++) {
    console.log(i);
}
// đặt lại giá trị của biến i
var i = 0;
while (x < 5) {
    console.log(x++);
}

Chạy

Cấu Trúc Điều Khiển

Node.js thừa kế các cấu trúc điều khiển trong JavaScript.

x = 5;
if (x < 0) {
    console.log("x là số âm");
} elseif (x > 0) {
    console.log("x là số dương");
} else {
    console.log("x bằng không");
}

var day = "Saturday";
switch (day) {
case "Friday":
    console.log("Thanks God it's Friday");
    break;
case "Saturday":
    console.log("Thứ 7 máu chảy về tim");
    break;
case "Sunday":
    console.log("Ngủ thôi!")
    break;
defaut:
    console.log("Xin mời làm việc");
    break;
}

Chạy

Tuy nhiên vì sự khác biệt giữa môi trường sử dụng (trình duyệt và máy chủ) nên Node.js không có một số tính năng trong JavaScript và ngược lại trong Node.js cũng có một số tính năng mà không có trong JavaScript.

Document

JavaScript tương tác với trình duyệt thông qua DOM (document object model) và vì vậy chúng ta có thể sử dụng đối tượng document trong JavaScript:

// document.write có trong JavaScript
document.write("Xin chào");

Chạy

Tuy nhiên đối tượng document lại không có trong Node.js.

// document.write KHÔNG có trong Node.js
document.write("Xin chào");

Chạy

File System

Node.js được chạy trên môi trường máy chủ nên nó hỗ trợ tương tác với các tập tin của hệ thống. Với JavaScript điều này không được hỗ trợ bởi các trình duyệt không cho phép JavaScript tương tác với hệ thống tập tin trên máy tính cá nhân.

// Node.js có thể được dùng để đọc và viết dữ liệu lên file system
var fs = require("fs");
Node.js
Thêm Bình Luận: