typeof در JavaScript
- صفحه قبل روش Map JS
- صفحه بعدی تغییر نوع JS
typeof در JavaScript
در جاوااسکریپت 5 نوع داده مختلف وجود دارد که میتوانند شامل ارزش باشند:
string
number
boolean
object
function
6 نوع شیء وجود دارد:
Object
Date
Array
String
Number
Boolean
و 2 نوع داده که نمیتوانند شامل ارزش باشند استفاده کنید:
null
undefined
آیاژنراتور typeof
شما میتوانید از typeof
آیاژنراتور برای تعیین نوع داده متغیرهای جاوااسکریپت استفاده میشود.
مثال
typeof "Bill" // بازمیگردد به "string" typeof 3.14 // بازمیگردد به "number" typeof NaN // بازمیگردد به "number" typeof false // بازمیگردد به "boolean" typeof [1,2,3,4] // بازمیگردد به "object" typeof {name:'Bill', age:19} // بازمیگردد به "object" typeof new Date() // بازمیگردد به "object" typeof function () {} // بازمیگردد به "function" typeof myCar // بازمیگردد به "undefined" * typeof null // بازمیگردد به "object"
لطفاً توجه داشته باشید:
- نوع داده NaN یک عدد است
- نوع داده آرایه یک شیء است
- نوع داده تاریخ یک شیء است
- نوع داده null object است
- نوع داده متغیرهای تعریف نشده undefined *
- نوع داده متغیرهای بدون تعریف نیز undefined *
شما نمیتوانید از typeof
برای تعیین اینکه یک شیء جاوااسکریپت یک آرایه (یا تاریخ) است یا خیر.
تاریخ اولیه
ارزش دادههای اولیه به معنای یک ارزش داده ساده است که هیچ ویژگی و روشی به آن متصل نیست.
typeof
آیاژنراتور میتواند یکی از نوعهای نوع اولیه زیر را بازگرداند:
string
number
boolean
undefined
مثال
typeof "Bill" // بازگشت "string" typeof 3.14 // بازگشت "number" typeof true // بازگشت "boolean" typeof false // بازگشت "boolean" typeof x // بازگشت "undefined" (اگر x هیچ ارزشی ندارد)
داده پیچیده
typeof
عملگر میتواند یکی از دو نوع داده پیچیده را بازگرداند:
function
object
typeof
عملگر به اشیاء، آرایهها و null بازگشت میدهد "object".
typeof
عملگر به تابعها بازگشت نمیدهد "object".
مثال
typeof {name:'Bill', age:19} // بازگشت "object" typeof [1,2,3,4] // بازگشت "object" (نه "array"، توجه کنید به مثال زیر) typeof null // بازگشت "object" typeof function myFunc(){} // بازگشت "function"
typeof
عملگر به آرایهها بازگشت میدهد "object"
، زیرا در JavaScript آرایهها اشیاء هستند.
نوع داده typeof
typeof
عملگر نیست. این فقط یک عملگر است. عملگر (+ - * /) هیچ نوع دادهای ندارد.
اما،typeof
عملگر همیشهزیر نویسی باز میگرداندشامل نوع عملگرها است.
ویژگی constructor
constructor
ویژگیها تمام متغیرهای JavaScript را به تابع ساختاردهی تبدیل میکنند.
مثال
"Bill".constructor // بازگشت function String() {[native code]} (3.14).constructor // بازگشت function Number() {[native code]} false.constructor // بازگشت function Boolean() {[native code]} [1,2,3,4].constructor // بازمیگردد به function Array() {[native code]} {name:'Bill',age:19}.constructor // بازمیگردد به function Object() {[native code]} new Date().constructor // بازمیگردد به function Date() {[native code]} function () {}.constructor // بازمیگردد به function Function(){[native code]}
میتوانید با بررسی ویژگی constructor مشخص کنید که آیا یک شیء "Array"
به معنای
مثال
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
یا میتوانید سادهتر بررسی کنید که آیا یک شیءوظیفه آرایه:
مثال
function isArray(myArray) { return myArray.constructor === Array; }
میتوانید با بررسی ویژگی constructor مشخص کنید که آیا یک شیء "Date"
به معنای
مثال
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
یا میتوانید سادهتر بررسی کنید که آیا یک شیءوظیفه تاریخ:
مثال
function isDate(myDate) { return myDate.constructor === Date; }
Undefined
در JavaScript، مقدار متغیری که هیچ مقداری ندارد undefined
است. نوع نیز undefined
تبدیل کنید.
مثال
let car; // مقدار undefined است، نوع آن نیز undefined است.
با تنظیم مقدار آن به undefined
، میتواند هر متغیری را خالی کند. نوع نیز undefined
تبدیل کنید.
مثال
car = undefined; // مقدار undefined است، نوع آن نیز undefined است.
مقدار خالی
مقدار خالی با undefined
بیربط است.
یک رشته خالی هم مقدار قانونی دارد و هم نوع.
مثال
let car = ""; // مقدار "" است، نوع آن "string" است.
Null
در JavaScript، null
که
متاسفانه در JavaScript،null
نوع دادهای که در اینجا استفاده میشود یک شیء است.
میتوانید آن را به عنوان یک باگ در JavaScript در نظر بگیرید،typeof null
این یک شیء است. نوع باید null
تبدیل کنید.
میتوانید شیء را به null
برای خالی کردن یک شیء:
مثال
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = null; // اکنون ارزش null است اما نوع همچنان شیء است
شما همچنین میتوانید شیء را به undefined
برای خالی کردن یک شیء:
مثال
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = undefined; // اکنون ارزش و نوع هر دو ناشناخته هستند
تفاوت بین undefined و null
undefined
و null
ارزشها برابر هستند اما نوعها متفاوت هستند:
typeof undefined // undefined typeof null // شیء null === undefined // غلط null == undefined // درست
- صفحه قبل روش Map JS
- صفحه بعدی تغییر نوع JS