جاوا اسکریپت کا typeof

جاوا اسکریپت کا typeof

在 JavaScript 中有 5 种不同的可以包含值的数据类型:

  • string
  • number
  • boolean
  • object
  • function

有 6 种类型的对象:

  • Object
  • Date
  • Array
  • String
  • Number
  • Boolean

以及 2 种不能包含值的数据类型:

  • null
  • undefined

typeof 运算符

您可以使用 typeof 运算符来确定 JavaScript 变量的数据类型。

مثال

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 来确定 JavaScript 对象是否是数组(或日期)。

原始日期

原始数据值指的是没有附加属性和方法的单个简单数据值。

typeof 运算符可以返回以下原始类型之一:

  • string
  • number
  • boolean
  • undefined

مثال

typeof "Bill"              // 返回 "string"
typeof 3.14                // 返回 "number"
typeof true                // 返回 "boolean"
typeof false               // 返回 "boolean"
typeof x                   // 返回 "undefined" (if x has no value)

به طور شخصی امتحان کنید

复杂数据

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;
}

به طور شخصی امتحان کنید

ਅਣਮੁੱਲ

JavaScript ਵਿੱਚ ਮੁੱਲ ਰਹਿਤ ਵਾਰਡ ਦਾ ਮੁੱਲ undefined। ਤਰੀਕਾ ਵੀ undefined设置的值。

مثال

let car;    // ਮੁੱਲ ਹੈ undefined ਅਤੇ ਤਰੀਕਾ ਵੀ undefined ਹੈ。

به طور شخصی امتحان کنید

ਉਸ ਦਾ ਮੁੱਲ ਸੈਟ ਕਰ ਕੇ undefinedਕੋਈ ਵੀ ਵਾਰਡ ਮਿਟਾ ਸਕਦਾ ਹੈ। ਤਰੀਕਾ ਵੀ undefined设置的值。

مثال

car = undefined;    // ਮੁੱਲ ਹੈ undefined ਅਤੇ ਤਰੀਕਾ ਵੀ undefined ਹੈ。

به طور شخصی امتحان کنید

ਖਾਲੀ ਮੁੱਲ

ਖਾਲੀ ਮੁੱਲ ਨਾਲ undefined ਬੇਕਾਰ ਹੈ。

ਖਾਲੀ ਸਟ੍ਰਿੰਗ ਨੂੰ ਮੁੱਲ ਅਤੇ ਤਰੀਕਾ ਹਨ。

مثال

let car = "";    // ਮੁੱਲ ਹੈ "", ਤਰੀਕਾ ਹੈ "string"

به طور شخصی امتحان کنید

ਨਲ

JavaScript ਵਿੱਚ null ਹੈ ਅਤੇ ਇਹ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਇਹ ਮੌਜੂਦ ਨਹੀਂ ਹੋਵੇ

ਦੁਖ ਦਾ ਕਾਰਨ ਹੈ ਕਿ JavaScript ਵਿੱਚnull ਦਾ ਤਰੀਕਾ ਇੱਕ ਆਬਜਦ ਹੈ。

شما می‌توانید آن را به عنوان یک باگ در JavaScript در نظر بگیرید.typeof null person است. نوع باید 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 هستند

به طور شخصی امتحان کنید

تفاوت بین undefined و null

undefined و null ارزش‌های برابر اما نوع متفاوت:

typeof undefined           // undefined
typeof null                // object
null === undefined         // false
null == undefined          // true

به طور شخصی امتحان کنید