Phương thức tĩnh Math.sign() trong JavaScript
Bùi Tấn Lực
- 886
- 10/09/2025
Chức năng của Phương thức tĩnh Math.sign() trong JavaScript
Phương thức tĩnh Math.sign() trong JavaScript dùng để lấy dấu của một con số, nếu số dương trả về 1, số âm trả về -1, bằng 0 trả về 0, không phải số trả về NaN (không phải số).
Cú pháp của Phương thức tĩnh Math.sign() trong JavaScript
Math.sign(giatri);
giatri: Giá trị là những con số âm, số dương, số 0
Code Phương thức tĩnh Math.sign() trong JavaScript
Math.sign(35);
<script>
document.write(Math.sign(35)+"<br>"); // Kết quả: 1
document.write(Math.sign(10)+"<br>"); // Kết quả: 1
document.write(Math.sign(35.5)+"<br>"); // Kết quả: 1
document.write(Math.sign(-35)+"<br>"); // Kết quả: -1
document.write(Math.sign(-10)+"<br>"); // Kết quả: -1
document.write(Math.sign(-10.7)+"<br>"); // Kết quả: -1
document.write(Math.sign(0)+"<br>"); // Kết quả: 0
document.write(Math.sign(-0)+"<br>"); // Kết quả: 0
document.write(Math.sign("abc")+"<br>"); // Kết quả: NaN
</script>
Kết quả:
1
1
1
-1
-1
-1
0
0
NaN
Ứng dụng Math.sign() trong JavaScript
Trong thực tế, Math.sign() hữu ích khi chương trình cần xác định nhanh một giá trị đang mang dấu dương, dấu âm hay bằng 0. Kết quả trả về có thể được dùng tiếp trong các phép so sánh, điều kiện hoặc xử lý dữ liệu mà không cần tự xây dựng nhiều nhánh kiểm tra.
Kiểm tra số dương, số âm và số 0 bằng Math.sign()
Math.sign() trả về 1 nếu giá trị là số dương, -1 nếu là số âm và 0 khi giá trị bằng 0. Nhờ đó, việc phân loại dấu của một số trở nên ngắn gọn và dễ đọc.
console.log(Math.sign(25)); // 1
console.log(Math.sign(-25)); // -1
console.log(Math.sign(0)); // 0
Cách này phù hợp khi chương trình chỉ quan tâm đến chiều của giá trị thay vì cần biết chính xác số đó lớn hay nhỏ bao nhiêu. Chẳng hạn, kết quả 1 có thể biểu thị mức tăng, -1 biểu thị mức giảm và 0 cho biết không có thay đổi.
Kết hợp Math.sign() với điều kiện if để xử lý dữ liệu
Giá trị trả về của Math.sign() có thể kết hợp với if để xây dựng các nhánh xử lý rõ ràng. Đây là cách thuận tiện khi cần thực hiện hành động khác nhau dựa trên dấu của một số.
const change = -15;
const sign = Math.sign(change);
if (sign > 0) {
console.log("Giá trị tăng");
} else if (sign < 0) {
console.log("Giá trị giảm");
} else {
console.log("Không thay đổi");
}
Ví dụ trên có thể áp dụng cho những dữ liệu như mức chênh lệch, biến động giá trị hoặc số lượng thay đổi giữa hai lần đo. Thay vì kiểm tra trực tiếp nhiều điều kiện với biến ban đầu, chương trình có thể dựa vào ba kết quả đặc trưng của Math.sign().
Phân biệt Math.sign() với Math.abs() và Math.trunc()
Ba phương thức này đều có thể xuất hiện khi xử lý số nhưng mục đích hoàn toàn khác nhau. Math.sign() xác định dấu, Math.abs() lấy giá trị tuyệt đối và Math.trunc() loại bỏ phần thập phân của một số.
console.log(Math.sign(-8.7)); // -1
console.log(Math.abs(-8.7)); // 8.7
console.log(Math.trunc(-8.7)); // -8
Vì vậy, nếu cần biết một giá trị đang âm hay dương, nên chọn Math.sign(). Nếu muốn chuyển số âm thành độ lớn tương ứng mà không quan tâm dấu, dùng Math.abs(). Còn khi mục tiêu là lấy phần nguyên bằng cách bỏ phần thập phân, Math.trunc() sẽ phù hợp hơn.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức tĩnh Math.sign() trong JavaScript.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *