‎‎عملگرنوعJavaScript typeof -‎

Previous >    <Next  

‎‎در جاوااسكريپت پنچ نوع داده مختلف كه داراي مقدارند مطابق زير ميباشند.

‎‎در جاوااسكريپت شش نوع شئ وجود دارد:

‎‎و دونوع داده كه داراي مقدار نيستند وجود دارد:

‎‎عملگــرtypeof

‎‎با عملگر‎typeof‎ ميتوان نوع داده متغيرجاوااسكريپت را مشخص نمود .

‎‎مثال ـ تعين نوع داده باtypeof

typeof "John"                 // Returns "string"
typeof 3.14                   // Returns "number"
typeof NaN                    // Returns "number"
typeof false                  // Returns "boolean"
typeof [1,2,3,4]              // Returns "object"
typeof {name:'John', age:34}  // Returns "object"
typeof new Date()             // Returns "object"
typeof function () {}         // Returns "function"
typeof myCar                  // Returns "undefined" *
typeof null        

--(go to editor for change code and run)

‎‎بموارد زير توجه فرمائيد:

‎نمينوان‎typeof‎ ،را براي موارديكه آرايه ويا تاريخ شئ جاوااسكريپت باشند ‎استفاده كرد.

‎‎داده هاي اوليهPrimitive Data -‎

‎‎يك مقدار داده اي اوليه، مقداري ساده وفاقد ويژگي و متد اضافي است.

‎‎عملگر‎typeof‎ براي مقادير اوليه ميتواند نوع هاي زيرا برگشت دهد .

‎‎مثال ـ عملگرtypeof براي مقادير اوليه

typeof "John"              // Returns "string"
typeof 3.14                // Returns "number"
typeof true                // Returns "boolean"
typeof false               // Returns "boolean"
typeof x   // return "undefined"  (if  x has no value)

--(go to editor for change code and run)

‎‎داده پيچيدهComplex Data -‎

‎‎عملگر‎typeof‎ براي داده هاي پيچيده دونوع اعلام ميكند :

‎عملگر‎typeof‎براي آرايه، اشياء وnull نوع‎"object‎"‎ رابرگشت ميدهد . اما براي ‎توابع‎"object‎"‎برگشت نمي دهد .

‎‎مثال ـ داده هاي پيچيده باtypeof

typeof {name:'John', age:34} // Returns "object"
typeof [1,2,3,4]             // Returns "object" (not "array", see note below)
typeof null                  // Returns "object"
typeof function myFunc(){}   // Returns "function"

--(go to editor for change code and run)

typeof ‎‎براي آرايه‎"object‎"‎ برگشت ميدهد، چون آرايه ها در جاوااسكريپت شئ ‎هستند.

‎‎نوع داده ايtypeof

‎عملگر‎typeof ‎يك متغير نيست . آن يك عملگراست .عملگري هاي ‎(+,-‎,*,/)‎ ‎داراي نوع داده اي‎(Data Type)‎ نيستند .

‎اما عملگر‎typeof‎هميشه رشته اي رابرگشت ميدهد، كه محتوي آن رشته نوع عملوند ‎(oprand)‎‎آنرا مشخص ميكند .

‎‎ويژگي ساختThe constructor Property -‎

‎‎ويژگي‎constructor‎ تابع سازنده براي همه متغير هاي جاوااسكريپت را برگشت ميدهد .

‎‎مثال ـ ويژگي ساخت تابع سازنده را برگشت ميدهد.

"John".constructor                // Returns function String()  {[native code]}
(3.14).constructor                // Returns function Number()  {[native code]}
false.constructor                 // Returns function Boolean() {[native code]}
[1,2,3,4].constructor             // Returns function Array()   {[native code]}
{name:'John',age:34}.constructor  // Returns function Object()  {[native code]}
new Date().constructor            // Returns function Date()    {[native code]}
function () {}.constructor        // Returns function Function(){[native code]}

--(go to editor for change code and run)

‎هر شئ ممكن است داراي يك تابع سازنده باشد .در جاوااسكريپت با متغيرها وداده هاي ثابت ‎بعنوان شئ نگاه ميشود، وآنها داراي تابع سازنده اند .ويژگي ساخت‎constructor‎ ‎آن تابع را برگشت ميدهد.

‎‎از ويژگي ساخت ميتوان براي تشخيص آرايه بودن يك شئ استفاده نمود.

‎‎مثال ـ نمونه كنترل آرايه بودن شئ

function isArray(myArray) {
  return myArray.constructor.toString().indexOf("Array") > -1;
}

--(go to editor for change code and run)

‎‎بفرم ساده تر مي توانيد بررسي كنيد، كه آيا شئ يكArray function است يا خير

‎‎مثال ـ كنترل شئ برايArray function بودن

function isArray(myArray) {
  return myArray.constructor === Array;
}

--(go to editor for change code and run)

‎با ويژگي ساخت ميتوان بررسي تاريخ بودن شئي را انجام داد .بايد در محتوي برگشتي كلمه‎"Date‎"‎ ‎كنترل شود.

‎‎مثال ـ كنترل تاريخ بودن شئ با ويژگي ساخت

function isDate(myDate) {
  return myDate.constructor.toString().indexOf("Date") > -1;
}

--(go to editor for change code and run)

‎‎مثال ـ حتي بروش ساده تر ميتوانيدDate function را كنترل نمائيد.

function isDate(myDate) {
  return myDate.constructor === Date;
}

--(go to editor for change code and run)

‎‎تعريف نشدهUndefined -‎

‎در جاوااسكريپت متغيريكه مقدار دهي نشده باشد، داراي مقدار‎undefined‎ ميباشد. ‎نوع آن هم‎undefined‎ است .

‎‎مثال ـundefined

let car;    // Value is undefined, type is undefined

--(go to editor for change code and run)

‎هر متغيري را ميتوان با تنظيم به‎undefined‎خالي نمود، اما نوع آن ‎undefined‎‎ميگردد .

‎‎مثال ـ تنظيم مفدار متغير با‎undefined

car = undefined;    // Value is undefined, type is undefined

--(go to editor for change code and run)

‎‎مقدار تهي ـEmpty Values

‎يك مقدار تهي هيچ ربطي به‎undefined‎ ندارد .يك رشته تهي هم ارزش قانوني داشته ‎و داراي نوع ميباشد.

‎‎مثال ـ رشته اي تهي

let car = "";    // The value is "", the typeof is "string"

--(go to editor for change code and run)

‎‎مقدارNull

‎‎در جاوااسكريپت‎Null‎ هيچي ا ست، فرض براين است كه چيزيست كه وجود ندارد .

‎متاسفانه در جاوااسكريپت‎null‎ از نوع داده اي يك شئ بحساب ي آيد . ميتوان آنرا در ‎جاوااسكريپت يك باگ دانست ، كه‎typeof null‎ شئ بوده كه بايد null باشد .

‎‎ميتوان يك شئ را باتنظيم آن به‎null‎ خال نمود .

‎‎مثال ـ خالي كردن شئ

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = null;    // Now value is null, but type is still an object

--(go to editor for change code and run)

‎‎همچنين ميتوان يك شئ را با تنظيم آن به‎undefined‎ خالي يا تهي نمود .

‎‎مثال ـ تهي نمودن شئ با تنظيم به‎undefined

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = undefined;   // Now both value and type is undefined

--(go to editor for change code and run)

‎‎تفاوت بينNull و Undefined

undefinde‎‎و ‎null‎ داراي مقادير مساويند، اما از نظر نوع ‎متفاوت هستند.

typeof undefined           // undefined
typeof null                // object

null === undefined         // false
null == undefined          // true

--(go to editor for change code and run)

‎‎عملگرinstanceof

‎عملگر‎instanceof‎در صورتيكه يك شئ نمونه از شئ مشخصي باشد true برگشت ‎ميدهد.

‎‎مثال ـ كنترل نمونه شئي

const cars = ["Saab", "Volvo", "BMW"];

(cars instanceof Array);
(cars instanceof Object);
(cars instanceof String);
(cars instanceof Number);

--(go to editor for change code and run)

‎‎عملگرvoid

‎عملگر‎void‎ عبارتي را ارزيابي ميكند و undefined برگشت ميدهد .اين عملگر اغلب ‎براي مقدار اوليه تعريف نشده بفرم‎void(0)‎ استفاده ميشود . همچنين از آن براي اجراي ‎عباراتي بدون توجه به نتيجه برگشتي بكار گرفته ميشود.

‎‎مثال ـ عملگرvoid

<a href="javascript:void(0);">
  Useless link
</a>

<a href="javascript:void(document.body.style.backgroundColor='red');">
  Click me to change the background color of body to red
</a>

--(go to editor for change code and run)


Previous >    <Next