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

روز چهارم ـ بولیَن، نال، تعریف‌نشده Day 4 - Boolean, Null, Undefined

آخرین به روزرسانی در 23 بهمن 1400
نوشته شده توسط علی خادم
روز چهارم ـ بولیَن، نال، تعریف‌نشده

دیروز درباره عدد و استرینگ یاد گرفتیم و امروز درباره سه تا از انواع داده دیگه توی جاوااسکریپت یاد می‌گیریم: بولیَن، نال و تعریف‌نشده.

بولیَن

بولیَن نوعی از داده‌س که می‌تونه true یا false باشه؛ یعنی یا درسته یا غلطه؛ خیلی ساده‌س و جلوتر که درباره مقایسه و منطق شرطی یاد بگیرید متوجه می‌شید که چقدر کاربردیه. فعلاً فقط بدونید هر وقت عمل مقایسه انجام بدیم، در واقع داریم یه بولیَن می‌سازیم که ممکنه true یا false باشه. خودتون می‌تونید یه سری مقایسه انجام بدید و نتیجه رو توی کنسول نگاه کنید. من یه فایل ساختم به اسم boolean.js و اینارو توش امتحان کردم:

console.log(4 > 3) // true
console.log(3 > 4) // false
console.log(3 == 3) // true

نال

نال یعنی تُهی، یعنی هیچ. متغیر نال متغیریه که خالیه و هیچ چیزی توش نیست؛ دقت کنید که این هم‌معنی با عدد صفر نیست، چون عدد صفر یه عدده ولی نال هیچ چی نیست؛ همچنین این یه متغیر تعریف‌نشده نیست.

let empty = null
console.log(empty) // null

تعریف‌نشده

اگه یه متغیر بسازید ولی هیچ مقداری بهش نسبت ندید، مقدار اون متغیر undefined یا تعریف‌نشده می‌شه.

let firstName
console.log(firstName) // undefined

اینا سه نوع داده‌ای بودن که قرار بود امروز درباره‌ش یاد بگیریم، اما شاید حالا وقت خوبی باشه که درباره یه سری چیزای خیلی مهم و اساسی توی جاوااسکریپت یاد بگیریم. از اعمال ریاضی شروع می‌کنیم که مورد علاقه خودمه.

اعمال ساده ریاضی

خبر خوب اینه که پروژه‌های وب معمولاً ریاضیات خیلی پیچیده‌ای ندارن و با اعمال خیلی ساده ریاضی سر و کار دارن (مگه این که پروژه خاصی باشه). با این علامت‌هایی که این زیر لیست کردم می‌تونیم روی اعداد، اعمال ساده ریاضی انجامم بدیم. توی مثال بعدی می‌تونید اعداد رو به دلخواه خودتون تغییر بدید و نتیجه هر کدوم از اعمال ریاضی رو توی کنسول مرورگرتون ببینید.

  • جمع: +
  • تفریق: -
  • ضرب: *
  • تقسیم: /
  • باقی‌مانده: %
  • توان: **
let numOne = 5
let numTwo = 3
let sum = numOne + numTwo
let diff = numOne - numTwo
let mult = numOne * numTwo
let div = numOne / numTwo
let remainder = numOne % numTwo
let powerOf = numOne ** numTwo

console.log(sum)
console.log(diff)
console.log(mult)
console.log(div)
console.log(remainder)
console.log(powerOf)

مقایسه در جاوااسکریپت

خیلی وقتا پیش میاد که لازمه مقادیری رو با همدیگه مقایسه کنیم، برای این کار باید از علامت‌های مربوط به مقایسه استفاده کنیم. می‌تونیم مقایسه کنیم که یه مقدار با یه مقدار دیگه برابره، یا مثلاً ازش کوچکتر یا بزرگتره.

  • فقط مقدارِ برابر: ==
  • هم مقدار و هم نوع داده برابر: ===
  • نابرابر: =!
  • بزرگتر از: >
  • کوچکتر از: <
  • بزرگتر یا مساوی: >=
  • کوچکتر یا مساوی: <=
console.log(3 > 2) // true
console.log(3 >= 2) // true
console.log(3 < 2) // false
console.log(2 < 3) // true
console.log(2 <= 3) // true
console.log(3 == 2) // false
console.log(3 != 2) // true

console.log(3 == '3') // true, compare only value
console.log(3 === '3') // false, compare both value and data type
console.log(3 !== '3') // true, compare both value and data type
console.log(3 != 3) // false, compare only value
console.log(3 !== 3) // false, compare both value and data type
  • علامت آمپرسَند ـ && ـ همه شروط درست باشن
  • علامت پایپ ـ || ـ یکی از شروط درست باشه
  • علامتِ نفی ـ ! ـ تبدیل درست به غلط و غلط به درست
// && ampersand
const check = 4 > 3 && 10 > 5 // true
const check = 4 > 3 && 10 < 5 // true
const check = 4 < 3 && 10 < 5 // false

// || pipe
const check = 4 > 3 || 10 > 5 // true
const check = 4 > 3 || 10 < 5 // true
const check = 4 < 3 || 10 < 5 // false

// ! negation
let check = 4 > 3 // true
let check = !(4 > 3) // false
let isLightOn = true
let isLightOff = !isLightOn // false
let isMarried = !false // true

شرط

خیلی جاها نیاز داریم که یه شرط بنویسیم؛ یعنی یه برنامه بنویسیم که اگه یه چیزی true بود یه کاری برامون انجام بده و اگه false بود یه کار دیگه انجام بده. به مثالای زیر نگاه کنید:

let isRaining = true

isRaining
  ? console.log('You need a rain coat.')
  : console.log('No need for a rain coat.')
// You need a rain coat.

isRaining = false

isRaining
  ? console.log('You need a rain coat.')
  : console.log('No need for a rain coat.')
// No need for a rain coat.

توی مثال بالا وقتی متغیر isRaining صحیح باشه، برنامه کد بعد از علامت سؤالو اجرا می‌کنه و بهمون می‌گه که به یه لباس بارونی نیاز داریم؛ اما چند خط بعد که متغیر isRaining رو به false تغییر دادیم، برنامه کد بعد از دونقطه رو اجرا کرد و بهمون گفت که نیازی به یه لباس بارونی نیست. جذاب نیست؟ یه مثال دیگه می‌تونه این طوری باشه:

let number = 5

number > 0
  ? console.log(`${number} is a positive number`)
  : console.log(`${number} is a negative number`)
// 5 is a positive number

number = -5

number > 0
  ? console.log(`${number} is a positive number`)
  : console.log(`${number} is a negative number`)
// -5 is a negative number

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.