Phương thức tĩnh Math.sin() trong JavaScript

Phương thức tĩnh Math.sin() trong JavaScript
Phương thức tĩnh Math.sin() trong JavaScript

Chức năng của Phương thức tĩnh Math.sin() trong JavaScript

Phương thức tĩnh Math.sin() trong JavaScript dùng để trả về giá trị sin của một góc đo bằng radian, giá trị đó nằm trong khoảng -1 tới 1, bạn truyền vào một giá trị là góc đo bằng radian, nếu bạn đang có góc đo bằng độ thì nên chuyển về radian trước.

Cú pháp của Phương thức tĩnh Math.sin() trong JavaScript

Math.sin(giatri);

giatri: Giá trị là góc đo bằng radian (Ví dụ: Math.PI / 2, 1, Math.PI,....)

Code Phương thức tĩnh Math.sin() trong JavaScript

Math.sin(Math.PI / 2);
<script>
document.write(Math.sin(Math.PI / 2)+"<br>"); // Kết quả: 1 (sin(π/2) = 1)
document.write(Math.sin(1)+"<br>"); // Kết quả: 0.8414709848078965
document.write(Math.sin(Math.PI)+"<br>"); // Kết quả: 1.2246467991473532e-16
document.write(Math.sin(Math.PI / 6)+"<br>"); // Kết quả: 0.49999999999999994
// Chuyển độ sang radian rồi tính sin
document.write(tinhSin(360)+"<br>"); // Kết quả: -0.00
document.write(tinhSin(210)+"<br>"); // Kết quả: -0.50
document.write(tinhSin(270)+"<br>"); // Kết quả: -1.00
document.write(tinhSin(180)+"<br>"); // Kết quả: 0.00
function tinhSin(sodo) {
// radians = sodo * PI / 180
  let x = Math.sin(sodo * Math.PI / 180);
  return x.toFixed(2);   
}
</script>

Kết quả:

1
0.8414709848078965
1.2246467991473532e-16
0.49999999999999994
-0.00
-0.50
-1.00
0.00

Chạy Thử

Những lưu ý khi sử dụng Math.sin() trong JavaScript

Khi sử dụng Math.sin(), kết quả có thể sai nếu nhầm đơn vị góc hoặc không chú ý đến một số giá trị đặc biệt. Nắm rõ các trường hợp này giúp phép tính lượng giác trong JavaScript chính xác và dễ kiểm soát hơn.

Math.sin() nhận giá trị theo radian, không phải độ

Math.sin() luôn hiểu đối số truyền vào là radian. Đây là điểm cần đặc biệt lưu ý khi giá trị ban đầu được biểu diễn bằng độ, chẳng hạn 30°, 45° hoặc 90°.

Muốn chuyển một góc từ độ sang radian, có thể áp dụng công thức:

radian = degree * Math.PI / 180;

Sau khi chuyển đổi, giá trị radian mới được truyền vào Math.sin():

const degree = 30;
const radian = degree * Math.PI / 180;
const result = Math.sin(radian);

console.log(result);

Cách làm này giúp tránh lỗi khi lấy dữ liệu góc từ biểu mẫu, giao diện hoặc các nguồn thường sử dụng đơn vị độ.

Cách xử lý khi cần tính sin của một góc theo độ

Nếu chương trình thường xuyên làm việc với góc theo độ, nên thực hiện bước chuyển đổi trước khi gọi Math.sin(). Có thể đóng gói thao tác này thành một hàm riêng để mã nguồn ngắn gọn và hạn chế việc chuyển đổi sai.

function sinDegree(degree) {
    return Math.sin(degree * Math.PI / 180);
}

console.log(sinDegree(90));

Cách này đặc biệt hữu ích trong các bài toán hình học, xử lý tọa độ hoặc mô phỏng khi dữ liệu đầu vào được cung cấp dưới dạng độ. Lưu ý rằng kết quả của phép tính có thể xuất hiện sai số dấu phẩy động rất nhỏ, chẳng hạn một giá trị về mặt toán học bằng 0 nhưng JavaScript trả về một số cực nhỏ gần 0.

Những trường hợp đặc biệt cần chú ý khi dùng Math.sin()

Math.sin() trả về NaN nếu đối số không thể chuyển thành một giá trị số hợp lệ. Vì vậy, dữ liệu đầu vào từ người dùng hoặc nguồn bên ngoài nên được kiểm tra trước khi tính toán.

const angle = Number("abc");
const result = Math.sin(angle);

console.log(result);

Với các giá trị như Infinity hoặc -Infinity, kết quả cũng là NaN. Trong khi đó, các giá trị số hữu hạn vẫn có thể được sử dụng, kể cả khi góc lớn hơn nhiều vòng tròn.

Ngoài ra, do JavaScript sử dụng số thực dấu phẩy động, không nên kiểm tra kết quả lượng giác bằng cách kỳ vọng tuyệt đối rằng nó luôn bằng một giá trị lý tưởng. Khi cần so sánh, nên tính đến sai số số học nhỏ.

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.sin() trong JavaScript.

  • ★★★★★ ★★★★★
  • 0 Bình luận
CEO Bùi Tấn Lực | Founder Web Mới
Bùi Tấn Lực
Tìm hiểu về CEO Bùi Tấn Lực, Founder Web Mới với nhiều năm kinh nghiệm trong lĩnh vực phát triển website, SEO và chia sẻ kiến thức công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Phương thức tĩnh Math.sin() trong JavaScript
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !