جاوااسکریپت هشت نوع داده یا دیتا تایپ داره که میشه اونها رو توی متغیرها ذخیره و بعد ازشون استفاده کرد؛ اون هشت نوع داده اینا هستن:
- عدد ـ
Number
ـ ممکنه عدد صحیح یا اعشاری باشه - استرینگ ـ
String
ـ همون متنه و بین کوتیشنمارک یا بکتیک قرار میگیره - بولیَن ـ
Boolean
ـ یعنیtrue
یاfalse
(صحیح یا غلط) - نال ـ
Null
ـ مقدارِ خالی - تعریفنشده ـ
Undefined
ـ متغیر تعریف شده ولی هیچ مقداری نداره - آبجکت ـ
Object
- تابع ـ
Function
- آرایه ـ
Array
امروز درباره عددها و استرینگها یاد میگیریم.
عدد
اعداد میتونن عدد صحیح یا اعشاری باشن. میتونیم توی فرمولها و الگوریتمها از اعداد استفاده کنیم و باهاشون اعمال ریاضی، مثل جمع و تفریق انجام بدیم. شما هم این مثال ساده رو انجام بدید و نتیجهشو توی کنسول مرورگر نگاه کنید. مثل درسای قبلی من یه فایل index.html دارم که فایل dataTypes.js توش فراخونی شده:
let firstNumber = 5
let secondNumber = 10
console.log(firstNumber + secondNumber)
این البته خیلی مثال سادهایه. توی جاوااسکریپت یه آبجکتی داریم که بهش میگیم Math
که به معنی ریاضیه و بهمون امکانات زیادی میده که بتونیم با اعداد کارای مختلفی انجام بدیم. توی مثال پایین ببینید که با مِتُدهای مربوط به آبجکت Math
چطوری اعداد رو به سمت بالا یا پایین روند میکنیم و یا از بین مجموعه اعداد، عدد کمینه یا بیشنه رو مشخص میکنیم:
const PI = Math.PI
console.log(PI) // 3.141592653589793
console.log(Math.round(PI)) // 3, to round values to the nearest number
console.log(Math.round(9.81)) // 10
console.log(Math.floor(PI)) // 3, rounding down
console.log(Math.ceil(PI)) // 4, rounding up
console.log(Math.min(-5, 3, 20, 4, 5, 10)) // -5, returns the minimum value
console.log(Math.max(-5, 3, 20, 4, 5, 10)) // 20, returns the maximum value
به اون عبارتی که بعد از آبجکت Math
نوشتیم میگن مِتُدِ مربوط به اون آبجکت. مِتُدهای مربوط به آبجکت Math
خیلی زیادن و تقریباً برای هر عملیات ریاضی که از ذهنتون بگذره، جاوااسکریپت یه مِتُدِ آماده داره؛ من نمیخوام همه این مِتُدها رو بررسی کنم یا توضیح بدم چون خیلی زیاد هستن و واقعاً بیشترشون تا حالا به کارم نیومده، فقط یادتون باشه که برای هر جور عملیات ریاضی که فک کنید یه مِتُدی وجود داره؛ مثلاً مِتُدِ random
رو در نظر بگیرید که یه عدد شانسی بین صفر و یک درست میکنه:
const randomNum = Math.random()
console.log(randomNum)
فرض کنید نیاز داریم از random استفاده کنیم و به شکل تصادفی یه عددی بین صفر و ده تولید کنیم؛ پس باید این طوری عمل کنیم:
let randomNum = Math.random() // generates a number between 0 and 0.999
let numBtnZeroAndTen = randomNum * 11
console.log(numBtnZeroAndTen) // min 0 and max 10.99
let randomNumRoundToFloor = Math.floor(numBtnZeroAndTen)
console.log(randomNumRoundToFloor)
استرینگ
توی درس روز قبل دیدیم که چطوری استرینگها تعریف میشن و داخل متغیرها قرار میگیرن، حالا میخوایم استرینگهای مختلف رو به همدیگه متصل کنیم و به صورت یک متن واحد نمایش بدیم؛ برای این کار از علامت +
استفاده میکنیم و این طوری متغیرها رو بین متن قرار میدیم:
let space = ' '
let firstName = 'Ali'
let country = 'Iran'
let city = 'Tehran'
let language = 'JavaScript'
let age = 33
let personInfoOne = 'Hi!' + space + 'My name is' + space + firstName
console.log(personInfoOne)
// Hi! My name is Ali
البته برای این کار یه روش دیگه هم وجود داره که به نظر من روش بهتریه که بهش میگن «درج در استرینگ» یا به انگلیسی String Interpolation؛ توی این روش دیگه از علامتِ بهعلاوه استفاده نمیشه و به جاش برای نمایش متغیرها از علامت $
استفاده میشه و بعد اسم متغیر توی براکت قرار میگیره؛ ضمناً کل استرینگ بین دو تا علامت بکتیک قرار میگیره. علامت بکتیک این علامته: `
و توی صفحه کلید من سمت چپ عدد یک قرار داره. پس اگه بخوایم خلاصه کنیم، توی روش درج در استرینگ:
- قبل از متغیرها از علامت دلار استفاده میشه
- متغیرها داخل براکت قرار میگیرن
- کل استرینگ داخل علامت بکتیک نوشته میشه
let firstName = 'Ali'
let country = 'Iran'
let city = 'Tehran'
let language = 'JavaScript'
let age = 33
let personInfoOne = `Hi! My name is ${firstName} and I live in ${city}`
console.log(personInfoOne)
// Hi! My name is Ali and I live in Tehran
چک کردن انواع داده
بعضی وقتا نیاز داریم ببینیم چه نوع دادهای توی یه متغیر ذخیره شده؛ برای این کار از مِتُدِ typeof
استفاده میکنیم:
let firstName = 'Ali'
let age = 33
let job
console.log(typeof firstName) // string
console.log(typeof age) // number
console.log(typeof job) // undefined, because a value was not assigned
دیدگاهتان را بنویسید