فصل بیست و یکم: کار با بولین و اعداد در اکما اسکرپیت

31 شهریور 1397
es6-boolean-and-numbers

امروز قصد داریم شیوه کار با کار با بولین و اعداد در اکما اسکرپیت را شرح دهیم. همراه ما باشید.

کار با بولین ها در اکما اسکریپت

آبجکت بولین دو مقدار را نمایش می دهد: true یا false. اگر مقداری برای این آبجکت تعریف نشده باشد و یا مقدار آن 0، 0-، null ،false ،NaN،undefined یا رشته خالی بود، به طور پیش فرض مقدار آبجکت بولین برابر false خواهد بود.

در زیر نحوه ایجاد یک آبجکت بولین را آورده ایم:

var val = new Boolean(value);

پروپرتی های بولین

در زیر پروپرتی های آبجکت های بولین را آورده ایم.

# پروپرتی توضیحات
1 Constructor یک ارجاع به تابع بولینی که آبجکت را ایجاد کرده است را بر می گرداند.
2 Prototype پروپرتی prototype اجازه می دهد که پروپرتی و متدهایی را به یک آبجکت اضافه کنید.

پروپرتی constructor

متد بولین constructor() یک ارجاع به تابع بولینی که یک نمونه از prototype را ایجاد کرده، بر می گرداند. از سینتکس زیر برای ایجاد یک تابع بولین constructor استفاده کنید. این متد تابعی که این نمونه آبجکت را ایجاد کرده، بر می گرداند.

مثال

<html> 
   <head> 
      <title>JavaScript constructor() Method</title> 
   </head> 

   <body> 
      <script type = "text/javascript"> 
         var bool = new Boolean( ); 
         document.write("bool.constructor() is : " + bool.constructor); 
      </script> 
   </body>
</html>

خروجی

bool.constructor() is : function Boolean() { [native code] }

پروپرتی prototype

پروپرتی prototype اجازه می دهد که پروپرتی ها و متدهایی را به هر نوع آبجکتی که مایل بودید (مثل Number، Boolean، String، Date)، اضافه کنید.

نکته: prototype یک پروپرتی سراسری است که تقریباً با هر آبجکتی قابل استفاده است.

نحوه ایجاد prototype بولین:

object.prototype.name = value

مثال

مثال زیر نشان می دهد که چطور از پروپرتی prototype برای افزودن یک پروپرتی به یک آبجکت استفاده کنید.

<html> 
   
   <head> 
      <title>User-defined objects</title> 
      <script type = "text/javascript"> 
         function book(title, author){  
            this.title = title;  
            this.author = author;  
         }  
      </script> 
   </head> 
   
   <body> 
      <script type = "text/javascript"> 
         var myBook = new book("Perl", "Tom");  
         book.prototype.price = null;  
         myBook.price = 100;  
         document.write("Book title is : " + myBook.title + "<br>");  
         document.write("Book author is : " + myBook.author + "<br>");  
         document.write("Book price is : " + myBook.price + "<br>");  
      </script> 
   </body>
   
</html>

خروجی

Book title is : Perl 
Book author is : Tom 
Book price is : 100

متدهای بولین

در جدول زیر متدهای بولین به همراه توضیحات هر کدام آمده است.

# متد توضیحات
1 toSource() یک رشته که شامل منبع یا سورس آبجکت بولین است را بر می گرداند، شما می توانید از این رشته برای ایجاد یک آبجکت برابر، استفاده کنید
2 toString() یک رشته شامل True یا False را بسته به مقدار آبجکت بر می گرداند.
3 valueOf() مقدار اولیه آبجکت بولین را بر می گرداند

 

متدtoSource()

این متد یک رشته شامل منبع یا سورس یک آبجکت را بر می گرداند.

نکته: این متد با هر مرورگری سازگار نیست.

سینتکس آن مطابق زیر است:

boolean.toSource(

مثال

<html> 
   <head> 
      <title>JavaScript toSource() Method</title> 
   </head> 

   <body> 
      <script type = "text/javascript">
         function book(title, publisher, price) {
            this.title = title;
            this.publisher = publisher;
            this.price = price;
         } 
         var newBook = new book("Perl","Leo Inc",200);
         document.write("newBook.toSource() is : "+ newBook.toSource());
      </script>
   </body>
   
</html>

خروجی

({title:"Perl", publisher:"Leo Inc", price:200})

متد toString()

یک رشته که شامل true یا false است را بسته به مقدار یک آبجکت را بر میگرداند.

سینتکس

boolean.toString()

مثال

<html> 
   <head> 
      <title>JavaScript toString() Method</title> 
   </head> 

   <body> 
      <script type = "text/javascript"> 
         var flag = new Boolean(false);  
         document.write( "flag.toString is : " + flag.toString() ); 
      </script> 
   </body>
   
</html>

خروجی

flag.toString is : false

متدهای valueOf()

متد بولین valueOf() مقدار اولیه یک آبجکت بولین معین شده، را بر میگرداند.

سینتکس

boolean.valueOf()

مثال

<html> 
   <head> 
      <title>JavaScript toString() Method</title> 
   </head> 
   
   <body> 
      <script type = "text/javascript"> 
         var flag = new Boolean(false);  
         document.write( "flag.valueOf is : " + flag.valueOf() );  
      </script> 
   </body>
   
</html>

خروجی

flag.valueOf is : false

کار با اعداد در اکما اسکریپت

اشیای Number تاریخ های عددی را به صورت اعداد صحیح و اعشاری نمایش می دهد.

به طور عادی نیازی نیست درباره اشیای Number نگران باشید، چون مرورگرها بطور خودکار رشته های عددی را به نمونه ای از کلاس Number تبدیل می کند.

سینتکس زیر یک آبجکت عددی را ایجاد می کند.

var val = new Number(number);

در قسمت number اگر شما یک آرگومان غیرعددی را قرار دهید و آن آرگومان نتواند به یک عدد تبدیل شود، یک مقدار NaN (Not-a-Number) را بر می گرداند.

پروپرتی های Number

# پروپرتی توضیحات
1
Number.EPSILON
کمترین فاصله بین دو عدد قابل نمایش
2 Number.MAX_SAFE_INTEGER بیشترین محدوده integer در جاوا اسکرپیت(253-1)
3 Number.MAX_VALUE بزرگترین عدد مثبت قابل نمایش
4
MIN_SAFE_INTEGER
 
کمترین محدوده integer در جاوا اسکرپیت (253-1)-
5
Number.MIN_VALUE
 
کمترین عدد مثبت قابل نمایش که آن عدد به صفر نزدیک می شود، اما هیچگاه برابر خود صفر نمی شود.
6 Number.Nan به طور خاص مقدار not-a-number را تولید می کند.
7 Number.NEGATIVE_INFINITY یک مقدار منفی بی نهایت را ایجاد می کند و یک سرریز بافر را بر می گرداند.
8 Number.POSITIVE_INFINITY یک مقدار مثبت بی نهایت را ایجاد می کند و یک سرریز بافر را بر می گرداند.

مثال-Number.EPSILON

var interval = Number.EPSILON 
console.log(interval)

خروجی

2.220446049250313e-16

مثال-Number.MAX_SAFE_INTERGER

var interval = Number.MAX_SAFE_INTEGER 
console.log(interval)

خروجی

9007199254740991

متدهای Number

# متد توضیحات
1 Number.isNaN() بررسی می کند که آیا مقدار پاس داده شده به آن NaN  است یا نه.
2 Number.isFinite() بررسی می کند که آیا مقدار پاس داده شده به آن عدد متناهی است یا نه.
3 Number.isInteger() بررسی می کند که آیا مقدار پاس داده شده به آن یک عدد صحیح است یا نه.
4 Number.isSafeInteger() بررسی می کند که آیا مقدار پاس داده شده به آن در محدوده اعداد صحیح(integer) قرار دارد یا نه.

اعداد بین (253-1) و  (253-1)-

5 Number.parseFloat() یک مقدار رشته ای را تجزیه کرده و یک عدد اعشاری را بر می گرداند.

 

6 Number.parseInt() یک مقدار رشته ای را تجزیه کرده و یک عدد صحیح را بر می گرداند.

 

متدهای اشیای Number

شی Number تنها شامل متدهای پیش فرض است که بخشی از تعریف هر شی است.

# متد توضیحات
1 toExponential() یک رشته شامل اعداد نمایی را بر می گرداند.
2 toFixed() یک رشته شامل اعداد با ممیز ثابت را بر می گرداند.
3 toLocaleString() یک رشته که شامل اعداد حساس به زبان محلی است را بر می گرداند.
4 toPrecision() یک رشته شامل یک عدد ممیز ثابت با دقت مشخص یا اعداد نمایی است، را بر می گرداند.
5 toString() یک عدد را به مقدار رشته ای تبدیل میکند.
6 valueOf() مقدار اولیه یک آبجکت معین را بر می گرداند.

حروف باینری و اکتال

قبل از اکما اسکریپت 6 شما هنگامی که یک عدد باینری یا اکتال داشتید، باید آن را به متد parseInt() پاس می دادید تا بعد بتوانید از آن عدد استفاده کنید. در ES6 می توانید از پیشوند های 0o و 0b برای نمایش اعداد باینری و اکتال استفاده کنید. همچنین برای نمایش اعداد هگزادسیمال از پیشوند 0x استفاده کنید.

پیشوندها می توانند با حروف کوچک یا بزرگ نوشته شوند.اگر چه پیشنهاد می کنیم که با حروف بزرگ بنویسید.

مثال- نمایش باینری

console.log(0b001) 
console.log(0b010) 
console.log(0b011) 
console.log(0b100)

خروجی

1 
2 
3 
4

مثال- نمایش اکتال

console.log(0x010) 
console.log(0x100)

خروجی

16
256

مثال- نمایش هگزادسیمال

console.log(0x010) 
console.log(0x100)

خروجی

16
256
نویسنده شوید

دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.