Khi học lập trình, việc hiểu rõ các kiểu dữ liệu là điều rất quan trọng, vì chúng là nền tảng của mọi chương trình. Trong bài viết này, chúng ta sẽ so sánh cách hai ngôn ngữ phổ biến là Ruby và JavaScript xử lý kiểu dữ liệu như thế nào.
1. Chuỗi (String)
Ruby | JavaScript |
---|---|
"hello" hoặc 'hello' | "hello", 'hello', hello |
Ruby dùng dấu nháy đơn ' ' hoặc nháy kép " " cho chuỗi. Còn JavaScript ngoài ' ' và " ", còn có dấu backtick ` để hỗ trợ string interpolation (chèn biến vào chuỗi).
Ví dụ:
Ruby:
name = "Ruby"
puts "Xin chào, #{name}!" JavaScript:
let name = "JS";
console.log(`Xin chào, ${name}!`);
2. Số (Integer & Float / Number)
Ruby | JavaScript |
---|---|
Phân biệt Integer, Float | Chỉ có Number |
Ruby chia rõ số nguyên (Integer) và số thực (Float), còn JavaScript thì gom chung tất cả là Number.
Ví dụ:
Ruby:
a = 10
b = 3.14 JavaScript:
let a = 10;
let b = 3.14;
3. Boolean
Ruby | JavaScript |
---|---|
true, false | true, false |
Cả hai đều giống nhau về giá trị boolean cơ bản.
4. Rỗng (Nil / Null / Undefined)
Ruby | JavaScript |
---|---|
nil | null, undefined |
Ruby chỉ có một giá trị "rỗng": nil. Trong khi đó, JavaScript có hai loại:
- null: là "giá trị rỗng" do bạn gán.
- undefined: là biến chưa được gán giá trị.
Ví dụ:
Ruby:
x = nil
puts x.nil? # => true JavaScript:
let x = null;
let y;
console.log(x === null); // true
console.log(y === undefined); // true
5. Mảng (Array)
Ruby | JavaScript |
---|---|
[1, 2, 3] | [1, 2, 3] |
Hai ngôn ngữ này đều dùng [] để khai báo mảng.
6. Từ điển / Đối tượng (Hash / Object)
Ruby | JavaScript |
---|---|
{name: "Linh", age: 22} | {name: "Linh", age: 22} |
Ruby gọi là Hash, JavaScript gọi là Object. Cách khai báo khá giống nhau.
7. Symbol
Ruby | JavaScript |
---|---|
Có :symbol, dùng phổ biến làm key | Có Symbol(), nhưng ít dùng để làm key |
Ruby có kiểu Symbol, thường dùng làm key trong hash để tối ưu hiệu suất. JavaScript cũng có Symbol, nhưng hiếm khi dùng cho mục đích tương tự.
8. Kiểm tra kiểu dữ liệu
Ruby | JavaScript |
---|---|
.class | typeof, instanceof |
Tóm tắt bảng so sánh:
Kiểu dữ liệu | Ruby | JavaScript |
---|---|---|
Chuỗi | 'abc', "abc" | 'abc', "abc", abc |
Số | Integer, Float | Number |
Boolean | true, false | true, false |
Rỗng | nil | null, undefined |
Mảng | [1, 2, 3] | [1, 2, 3] |
Hash/Object | {a: 1} | {a: 1} |
Symbol | :key | Symbol() |
Kiểm tra kiểu | .class | typeof, instanceof |
🔚 Kết luận
Ruby và JavaScript đều là ngôn ngữ bậc cao, có cú pháp hiện đại và dễ tiếp cận. Tuy nhiên, mỗi ngôn ngữ có cách xử lý kiểu dữ liệu riêng biệt. Hiểu rõ các khác biệt này sẽ giúp bạn chuyển đổi tư duy linh hoạt hơn khi học và làm việc với nhiều ngôn ngữ lập trình.