jsrosetta

Luồng điều khiển

If/Else

Cú pháp if/else if/else và toán tử ba ngôi của JavaScript so với Go (không có ba ngôi), Rust (if là biểu thức), Swift và Java (đều có ba ngôi).

Phiên bản tối thiểu
Node.js ≥ 12.20Go ≥ 1.0Rust ≥ 1.58Swift ≥ 2.0Java ≥ 25
Đã chạy thử trên
Node.js 24.12.0Go 1.27.1Rust 1.98.1Swift 6.2.4Java 25.0.4.1

Code Node.js là ES module: lưu file .mjs hoặc đặt "type": "module" trong package.json.

if/else if/else trong Go đọc gần như y hệt JavaScript — chỉ bỏ dấu ngoặc đơn quanh điều kiện. Khác biệt lớn nhất: Go không có toán tử ba ngôi (? :), nên phải viết ra bằng một biến và một khối if bình thường. Rust cũng không có toán tử ba ngôi, nhưng if trong Rust là một biểu thức nên viết gọn hơn Go. Swift và Java thì có hẳn ? : giống JavaScript.

Rẽ nhánh có điều kiện

const array = [1, 2]
 
if (array) {
  console.log('array exists')
}
 
if (array.length === 2) {
  console.log('length is 2')
} else if (array.length === 1) {
  console.log('length is 1')
} else {
  console.log('length is other')
}
 
const isOddLength = array.length % 2 == 1 ? 'yes' : 'no'
 
console.log(isOddLength)
array exists
length is 2
no

Tham khảo: github.com/miguelmota/golang-for-nodejs-developers#ifelse