آموزش ویژگی های ECMAScript 6 (جلسه 25) : تغییرات و امکانات جدید شئ Math

ساخت وبلاگ

همونطور که اطلاع دارید در جلسه قبل در مورد تغییرات و امکانات جدید Number در ES6 توضیحاتی رو قرار دادیم و شما رو بصورت کامل با اونا آشنا کردیم. در این جلسه میخوایم در مورد تغییرات و امکانات جدیدی که در ES6 برای شئ Math معرفی شده اند، توضیحاتی رو قرار بدیم. برای این آموزش از این لینک به عنوان منبع استفاده میکنیم.

تغییرات و امکانات جدید Math

همونطور که میدونین شئ Math ثابتها و متدهای مفید و کاربردی رو داره که با استفاده از اونا میتونین محاسبات ریاضی رو به راحتی انجام بدین. برخلاف دیگر اشیائ سراسری یا Global که در Javascript وجود دارند (مانند Number)، شئ Math یک تابع سازنده یا Constructor نیست.

همه ویژگی ها و متدهای مربوط به Math بصورت استاتیک یا Static هستند و بصورت مستقیم میتونین به اونا دسترسی داشته باشید و نیازی به نمونه سازی یا Instantiate نیست.

ویژگی های مربوط به Math

شئ Math ویژگی های زیادی (همگی آنها ثابت یا Constant هستند) رو دارد که عبارتند از:

  • Math.E : عدد نپر یا اولر هست که پایه طبیعی لگاریتمها محسوب میشه و مقدار اون تقریبا 2.718 می باشد
  • Math.LN2 : لگاریتم طبیعی عدد 2 که تقریبا برابر با 0.693 می باشد

دو مورد بالا رو بعنوان نمونه قرار دادیم و خودتون میتونین بقیه ثابتها رو مطالعه کنید. این موارد در ES5 نیز وجود داشتند.

در ES6 تعدادی متد جدید به شئ Math اضافه شده که کاربردهای زیاد دارند و میتونین محاسبات رو با استفاده از اونا سریعتر و بهتر انجام بدین.

توابع هذلولی یا Hyperbolic

همونطور که اطلاع دارید در ES5 توابعی برای گرفتن کسینوس (Math.cos()) و سینوس و ... وجود داشت. در ES6 توابع مربوط به گرفتن کسینوس هایپربولیک و ... نیز اضافه شده است.

  • Math.cosh : مقدار کسینوس هایپربولیک یک عدد رو برمی گرداند. مانند:
  • Math.acosh : مقدار معکوس کسینوس هایپربولیک یک عدد رو برمی گرداند.
  • Math.sinh : مقدار سینوس هایپربولیک یک عدد رو برمی گرداند.
  • Math.asinh : مقدار معکوس سینوس هایپربولیک یک عدد رو برمی گرداند.
  • Math.tanh : مقدار تانژانت هایپربولیک یک عدد رو برمی گرداند.
  • Math.atanh : مقدار معکوس تانژانت هایپربولیک یک عدد رو برمی گرداند.

متد Math.hypot

hypot مخفف hypotenuse یا وتر مثلث قائم الزاویه هست. با استفاده از این متد مثلا میتونین اندازه 2 ضلع مثلث قائم الزاویه رو بهش بدین و این متد اندازه وتر رو برای شما محاسبه میکنه و برمی گردونه. هر تعداد عددی رو به این متد پاس بدین، این متد در ابتدا همه اونا رو به توان 2 میرسونه و با هم دیگه جمع میکنه و بعد از نتیجه اونا جذر ریشه 2 میگیره. مثالهای زیر رو در نظر بگیرید:

متد Math.sign

با استفاده از این متد میتونین علامت یک عدد رو مشخص کنید. خروجی این متد یکی از موارد زیر است:

  • 1 : زمانی که عدد مثبت باشد
  • -1 : زمانی که عدد منفی باشد
  • 0 : زمانی که عدد 0 یا +0 باشد
  • -0 : زمانی که عدد -0 باشد
  • NaN : زمانی که مقدار وارد شده عدد نباشد

مثالهای زیر رو در نظر بگیرید:

متد trunc

این متد مخفف truncate است و قسمت صحیح یا کامل عدد رو برمی گردونه و هر گونه اعشار مربوط به اون رو حذف میکنه. پس چه عدد منفی باشه چه مثبت برای این متد فرقی نمیکنه و اعشار مربوط به اون حذف میشه. مثالهای زیر رو در نظر بگیرید:

همونطور که مشاهده میکنید اگر مقدار وارد شده یک عدد نباشد، NaN برگشت داده میشه.

متدهای دیگه ای نیز اضافه شده اند که در زیر به اونا اشاره میکنیم:Math.cbrt : این متد ریشه سوم یک عدد را برمی گرداندMath.clz32Math.expm1 : تابع نمائی عدد وارد شده رو منهای یک میکنه و بر میگرداند. یعنی exp(x) - 1Math.log2 : لگاریتم پایه 2 عدد وارد شده را برمی گردونهMath.log10 : لگاریتم پایه 10 عدد وارد شده را برمی گردونهMath.log1p : لگاریتم طبیعی (یا لگاریتم بر پایه عدد نپر یا ln) عدد وارد شده به اضافه 1 رو برمی گردونه. یعنی ln(x + 1)Math.imul : ضرب 32 بیتی دو عدد رو برمی گردونه امیدوارم موارد بیان شده رو به خوبی یاد گرفته باشید. برای مطالعه بیشتر در مورد تغییرات اشیائ Number و Math در ES6 میتونین این لینک رو مطالعه کنید. موفق و پیروز باشید. یا علی

سون لرن • آموزش...
ما را در سایت سون لرن • آموزش دنبال می کنید

برچسب : آموزش,ویژگی,تغییرات,امکانات, نویسنده : استخدام کار 7learn بازدید : 317 تاريخ : پنجشنبه 6 مهر 1396 ساعت: 15:37

خبرنامه