نوع داده‌های JavaScript

رشته، عدد، بولین، آرایه، شیء را ذخیره کنند.

نوع داده‌های JavaScript

متغیرهای JavaScript می‌توانند多种نوع داده‌ها数值، رشته، آرایه، شیء و غیره:

var length = 7;                             // عدد
var lastName = "Gates";                      // رشته
var cars = ["Porsche", "Volvo", "BMW"];         // آرایه
var x = {firstName:"Bill", lastName:"Gates"};    // شیء

مفهوم نوع داده‌ها

در فرآیند برنامه‌نویسی، نوع داده‌ها یک مفهوم مهم هستند.

برای اینکه بتوانید متغیرها را عمل کند، شناختن نوع داده‌ها بسیار مهم است.

بدون نوع داده، کامپیوتر نمی‌تواند به طور امن این مسئله را حل کند:

var x = 911 + "Porsche";

آیا اضافه کردن 911 به "Volvo" معنادار است؟ آیا این کار خطا تولید می‌کند یا نتیجه‌ای تولید می‌کند؟

JavaScript اینگونه با مثال بالا برخورد می‌کند:

var x = "/911" + "Porsche";

当数值和字符串相加时,JavaScript 将数值视为字符串。

مثال

var x = 911 + "Porsche";

آزمایش کنید

مثال

var x = "Porsche" + 911;

آزمایش کنید

JavaScript 从左向右计算表达式。不同的顺序会产生不同的结果:

JavaScript:

var x = 911 + 7 + "Porsche";

结果:

918Porsche

آزمایش کنید

JavaScript:

var x = "Porsche" + 911 + 7;

结果:

Porsche9117

آزمایش کنید

在第一个例子中,JavaScript 把 911 和 7 视作数值,直到遇到 "Porsche"。

在第二个例子中,由于第一个操作数是字符串,因此所有操作数都被视为字符串。

JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同的变量可以用作不同的类型:

مثال

var x;               // 现在 x 是 undefined
var x = 7;           // 现在 x 是数值
var x = "Bill";      // 现在 x 是字符串值

آزمایش کنید

JavaScript 字符串值

字符串(或文本字符串)是一系列字符(例如 "Bill Gates")。

字符串被引号包围。您可以使用单引号或双引号:

مثال

var carName = "Porsche 911";   // 使用双引号
var carName = 'Porsche 911';   // 使用单引号

آزمایش کنید

您可以在字符串中使用引号,只要这些引号与包围字符串的引号不匹配:

مثال

var answer = "It's alright";             // 双引号内的单引号
var answer = "He is called 'Bill'";    // 双引号内的单引号
var answer = 'He is called "Bill"';    // 单引号内的双引号

آزمایش کنید

您将在本教程中学习更多关于字符串的知识。

JavaScript 数值

JavaScript 只有一种数值类型。

在写数值时,是否使用小数点是可选的:

مثال

var x1 = 34.00;     // 有小数点
var x2 = 34;        // 没有小数点

آزمایش کنید

数值非常大或非常小可以使用科学计数法来表示:

مثال

var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123

آزمایش کنید

شما در این آموزش بیشتر درباره اعداد یاد خواهید گرفت.

ارزش‌های بولین JavaScript

ارزش‌های بولین فقط دو ارزش دارند:true یا false.

مثال

var x = true;
var y = false;

آزمایش کنید

ارزش‌های بولین (Boolean) اغلب در تست‌های شرطی استفاده می‌شوند.

شما در این آموزش بیشتر درباره تست‌های شرطی یاد خواهید گرفت.

آرایه‌های JavaScript

آرایه‌های JavaScript با استفاده از قلمبرهای گوشه‌ای نوشته می‌شوند.

عناصر آرایه با کاما جدا می‌شوند.

کد زیر یک آرایه به نام cars با سه عنصر (برنده‌های خودرو) ایجاد (تعریف) می‌کند:

مثال

var cars = ["Porsche", "Volvo", "BMW"];

آزمایش کنید

شمارنده‌های آرایه بر اساس صفر هستند، این بدان معناست که اولین عنصر [0] است، دومین عنصر [1] است و به همین ترتیب.

شما در این آموزش بیشتر درباره آرایه‌ها یاد خواهید گرفت.

شیء در JavaScript

اشیاء JavaScript با استفاده از قلمبرهای گوشه‌ای نوشته می‌شوند.

ویژگی‌های اشیاء name:value بله، با کاما جدا می‌شوند.

مثال

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

آزمایش کنید

در مثال بالا، اشیاء (person) چهار ویژگی دارند: firstName،lastName،age و eyeColor.

شما در این آموزش بیشتر درباره اشیاء یاد خواهید گرفت.

typeof در JavaScript استفاده کنید

شما می‌توانید از عملگر typeof برای تعیین نوع متغیرهای JavaScript،

عملگر typeof نوع متغیر یا عبارت را برمی‌گرداند:

مثال

typeof ""                  // بازمی‌گردد به "string"
typeof "Bill"              // برگرداند "string"
typeof "Bill Gates"          // بازمی‌گردد به "string"

آزمایش کنید

مثال

typeof 0                   // بازمی‌گردد به "number"
typeof 314                 // بازمی‌گردد به "number"
typeof 3.14                // برگرداند "number"
typeof (7)                 // بازمی‌گردد به "number"
typeof (7 + 8)             // بازمی‌گردد به "number"

آزمایش کنید

عملگر typeof به آرایه‌ها "object" برمی‌گرداند، زیرا در JavaScript آرایه‌ها به عنوان اشیاء در نظر گرفته می‌شوند.

Undefined

در JavaScript، متغیرهایی که هیچ ارزشی ندارند، ارزش undefinedنیز برگرداند undefined.

مثال

var person;                  // ارزش است undefined، نوع است undefined。

آزمایش کنید

هر متغیری می‌تواند با تنظیم ارزش به undefined خالی کنید. نوع آن نیز خواهد بود undefined.

مثال

person = undefined;          // ارزش است undefined، نوع است undefined。

آزمایش کنید

مقادیر خالی

مقادیر خالی با undefined این دو یک چیز نیستند.

مقادیر خالی نیز دارای ارزش و نوع هستند.

مثال

var car = "";                // ارزش است ""، نوع است "string"

آزمایش کنید

Null

در JavaScript،null است "nothing". آن به عنوان موجودیت نیست در نظر گرفته می‌شود.

متاسفانه، در JavaScript،null نوع داده است شیء.

شما می‌توانید null در JavaScript یک شیء را درک می‌کنند به عنوان یک باگ. آن باید null.

شما می‌توانید با تنظیم ارزش به null عنصر را خالی کنید:

مثال

var person = null;           // ارزش است null، اما نوع همچنان است object

آزمایش کنید

شما همچنین می‌توانید با تنظیم ارزش به undefined عنصر را خالی کنید:

مثال

var person = undefined;           // ارزش است undefined، نوع است undefined。

آزمایش کنید

تفاوت بین Undefined و Null

Undefined با null 的值相等,但类型不相等:

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

آزمایش کنید

原始数据

原始数据值是一种没有额外属性和方法的单一简单数据值。

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:62} // بازمی‌گردد به "object"
typeof [1,2,3,4]             // بازمی‌گردد به "object" (نه "array"، به نظرات زیر مراجعه کنید)
typeof null                  // بازمی‌گردد به "object"
typeof function myFunc(){}   // بازمی‌گردد به "function"

آزمایش کنید

typeof عامل به آرایهobjectدر JavaScript، آرایه‌ها مانند اوبجکت‌ها هستند.

خواندن اضافی

آموزش‌های پیشرفته JavaScript: