تو این مقاله میخواهیم بریم سراغ Built-in Object ها در جاوااسکریپت و کمی بیشتر درباره متدها و پراپرتی هاشون یادبگیریم. منظور از Buil-in object در واقع متدهایی هست که در غالب آبجکت های جاوااسکریپتی ایجاد شدن و ما میتونیم ازشون جهت یکسری از پردازش های داده معمولی استفاده کنیم. از جمله این Buil-in Object ها میشه به Array
, String
, Date/Time
اشاره کرد.
Built-in Object ها در جاوااسکریپت به 2 گروه تقسیم میشن:
- Standard Objects
- سایر Built-in objects ها
Standard Objects بر اساس دسته بندی
قبل از شروع این بخش، این نکته را به خاطر داشته باشید که Standard Buil-in Objects را با standard objects اشتباه نگیرید. همچنین تو این مقاله آبجکت های global scope را به عنوان standard objects در نظر میگیریم و از عملگر this در global scope میشه جهت دسترسی به یک standard object استفاده کرد.
Numbers و Dates
این آبجکت های پایه بیانگر اعداد، تاریخ و محاسبات ریاضی هستند.
1. Number
- آبجکت Number بیانگر تاریخ های عددی، اعداد صحیح و اعشاری هست
- آبجکت Number را میتوان بوسیله کانستراکتور
Number()
ایجاد کرد و این آبجکت پس از ایجاد حاوی یکسری متدها و پراپرتی ها خواهد بود - این فانکشن
Number()
میتونه مقادیر مختلف در تایپ های مختلف ( مثل "10" ) را به مقادیر عددی تبدیل کنه.
سینتکس Number:
var num = new Number(value);
پراپرتی های Number:
پراپرتی ها | توضیحات |
---|---|
Constructor | فانکشنی که آبجکت Number را ایجاد کرده |
MAX VALUE | بزرگترین مقدار ممکن را برمیگردونه |
MIN VALUE | کوچکترین عدد ممکن را برمیگردونه |
NEGATIVE INFINITY | نشان دهنده مقدار بی نهایت منفی |
POSITIVE INFINITY | نشان دهنده مقدار بی نهایت مثبت |
Prototype | پراپرتی ها و متدهای یک آبجکت که میتونن اضافه بشن |
متدهای Number:
Method() | Description |
---|---|
toExponential() | تبدیل عدد به یک نماد نمایی ( به عنوان مثال اگر عدد ما 10 باشه خروجیش میشه 1e+1 و روی صفر ها تاثیر میزاره ) |
toFixed() | حذف رقم های اعشاری طبق ورودی که بهش دادیم (اگر 0 بدیم عدد رو به نزدیک ترین عدد صحیحش رند میکنه، یعنی 1.55 میشه 2 ) |
toLocaleString() | یک string از عدد داده شده برمیگردونه و اعدادش رو به فرمت عددی اون منطقه تغییر میده مثلا اگر fa بدیم بهش عدد را با فونت فارسی به ما میده |
toPrecision() | تعیین میکنه که عدد خروجی با چند رقم باید نمایش داده بشه |
toString() | عدد را به string تبدیل میکنه |
valueOf() | مقدار خود عدد را برمیگردونه |
2. BigInt
- آبجکت BigInt جهت پردازش اعدادی به کار میره که از محدوده و توانایی Number خارجه.
- یک BigInt را میتونیم از طریق کانستراکتور
BigInt()
و یا افزودن حرف n به آخر عدد مدنظر ایجاد کنیم.
سینتکس BigInt:
const bigint = BigInt(100);
// یا
const bigint2 = 100n;
پراپرتی های BigInt:
پراپرتی ها | توضیحات |
---|---|
Constructor | فانکشنی که آبجکت BigInt را ایجاد کرده |
Prototype | پراپرتی ها و متدهای یک آبجکت که میتونن اضافه بشن |
متدهای BigInt:
متد | توضیحات |
---|---|
toLocaleString() | یک string از عدد داده شده برمیگردونه و اعدادش رو به فرمت عددی اون منطقه تغییر میده مثلا اگر fa بدیم بهش عدد را با فونت فارسی به ما میده |
toString() | عدد را به string تبدیل میکنه |
valueOf() | مقدار خود عدد را برمیگردونه |
3. Math
- از آبجکت Math جهت یکسری محاسبات ساده ریاضی برروی اعداد استفاده میشه.
- از پراپرتی ها و متدهای Math میتونیم مثل هر آبجکت دیگه ایی از طریق نام Math بهشون دسترسی داشته باشیم.
سینتکس Math:
Math.max(1,-10,55); // 55
پراپرتی های Math:
پراپرتی ها | توضیحات |
---|---|
PI | عدد پی را برای ما برمیگردونه (3.14159) |
E | عدد 2.718281828459045 را برای ما برمیگردونه که ازش جهت پایه لگاریتم طبیعی e استفاده می شود |
LN2 | بطور تقریبی عدد 0.693 را برمیگردونه که برای لگاریتم طبیعی 2 هستش |
LN10 | بطور تقریبی عدد 2.303 را برمیگردونه که برای لگاریتم طبیعی 10 هستش |
LOG2E | عدد 1.443 را برمیگردونه که ازش جهت محاسبه لگاریتم پایه 2 e استفاده می شود |
LOG10E | عدد 0.434 را برمیگردونه که ازش جهت محاسبه لگاریتم پایه 10 e استفاده می شود |
SQRT2 | بطور تقریبی عدد 1.414 را برمیگردونه که ازش جهت محاسبه جذر 2 استفاده می شود |
SQRT1_2 | بطور تقریبی عدد 0.707 را برمیگردونه که ازش جهت محاسبه جذر ½ استفاده می شود |
متدهای Math:
متد | توضیحات |
---|---|
max(x,y) | بزرگترین عددی که بهش دادیم را برمیگردونه |
min(x,y) | کوچکترین عددی که بهش دادیم را برمیگیردونه |
round(x) | عدد را رند میکنه به نزدیک ترین عدد |
ceil(x) | عدد را رو به بالا گرد میکنه |
floor(x) | عدد را به کوچکترین عدد نزدیک گرد میکنه |
exp(x) | برای ما e^x را برمیگردونه |
pow(x,y) | را برمیگردونه x^y |
abs(x) | مقدار مطلق عدد وارد شده را برمیگردونه |
random() | یک عدد تصادفی بین 0 و 1 برمیگردونه |
sqrt(x) | جذر عدد داده شده را برمیگردونه |
sin(x) | سینوس عدد داده شده را برحسب رادیان برمیگردونه |
cos(x) | کسینوس عدد داده شده را بر حسب رادیان برمیگردونه |
tan(x) | تانژانت عدد داده شده را بر حسب رادیان برمیگردونه |
sinh(x) | سینوس هیپربولیک عدد داده شده را برحسب رادیان برمیگردونه |
cosh(x) | کسینوس هیپربولیک عدد داده شده را برحسب رادیان برمیگردونه |
tanh(x) | تانژانت هیپربولیک عدد داده شده را برحسب رادیان برمیگردونه |
4. Date
- زمانی که کاربران نیاز به دسترسی به تاریخ و زمان فعلی و همچنین تاریخ ها و زمان های قبلی و آینده دارند میتوان از Date استفاده کرد.
- آبجکت Date را میتوان از طریق کانستراکتور
Date()
ایجاد کرد. - تاریخ هارو میشه با هم مقایسه کرد و حتی تبدیلشون کرد به یک فرمت خوانا.
سینتکس Date:
const today = new Date( );
پراپرتی های Date:
پراپرتی ها | توضیحات |
---|---|
Constructor | فانکشنی که آبجکت Date را ایجاد کرده |
Prototype | پراپرتی ها و متدهای یک آبجکت که میتونن اضافه بشن |
متدهای Date:
متدها | توضیحات |
---|---|
Date() | تاریخ و زمان فعلی را برمیگردونه |
getDate() | روزه ماهه تاریخه داده شده را برمیگردونه |
getDay() | روزه هفته تاریخه داده شده را برمیگردونه |
getFullYear() | سال تاریخ داده شده را برمیگردونه |
getHours() | ساعت محلی تاریخ داده شده را برمیگردونه |
getMinutes() | دقیقه محلی تاریخ داده شده را برمیگردونه |
getSeconds() | ثانیه های محلیه تاریخ داده شده را برمیگردونه |
getMilliseconds() | میلی ثانیه محلی تاریخ داده شده را برمیگردونه |
موارد مربوطه به متن:
این آبجکت ها به string ها اشاره میکنند.
1. String
- آبجکت String را میتوان بوسیله کانستراکتور
String()
ایجاد کرد.
سینتکس String:
var variable_name = new String(string);
پراپرتی های String:
پراپرتی ها | توضیحات |
---|---|
Length | تعداد کاراکتر رشته مدنظر را برمیگردونه |
Constructor | فانکشنی که آبجکت Date را ایجاد کرده |
Prototype | پراپرتی ها و متدهای یک آبجکت که میتونن اضافه بشن |
برخی از متدهای String:
متد | توضیحات |
---|---|
charAt() | کاراکتری که در جایگاه عددی داده شده وجود داره را برمیگردونه |
toLowerString() | تمام کلمات را به حروف کوچک تبدیل میکنه |
toUpperString() | تمام کلمات را به حروف بزرگ تبدیل میکنه |
concat() | جهت یکی کردن دو یا چند string با همدیگه |
indexOf(searchtext, index) | index کلمه ایی که بهش دادیم را توی string ما پیدا میکنه |
lastIndexof(searchtext, index) | کار همون متد قبلی را انجام میده منتها در اینجا از آخر شروع میکنه |
2. RegExp
- از آبجکت RegExp جهت اعتبار سنجی یکسری الگوها استفاده میشه
- آبجکت RegExp را میتوان بوسیله کانستراکتور
RegExp()
ایجاد کرد. - از این آبجکت جهت سرچ های عمیق، برسی الگوهای پیچیده و جایگذاری ها استفاده میشه.
سینتکس RegExp:
const regex = new RegExp(“pattern”,”flag”);
// یا
const regex2 = /pattern/flag
موقع کار با RegExp ها ممکنه با دوتا اصطلاح pattern و flag مواجه بشید که pattern به یک عبارت با قاعده و الگو جهت برسی یک string اشاره میکنه و flag هم یک string اختیاری هست که میتونه یکی از "g", "I", و "m" باشه و این کاراکتر ها به گلوبال، غیرحساس بودن به بزرگ و کوچکی حروف و ... اشاره داره.
پراپرتی های RegExp:
پراپرتی ها | توضیحات |
---|---|
Constructor | فانکشنی که آبجکت Date را ایجاد کرده |
Prototype | پراپرتی ها و متدهای یک آبجکت که میتونن اضافه بشن |
Global | برسی میکنه که آیا flag g وجود داره یا خیر |
ignoreCase | برسی میکنه که آیا flag i تنظیم شده یا خیر |
lastIndex | یک index تنظیم میکنه که برسی بعدی ازش شروع بشه |
multiline | چک میکنه که flag m تنظیم شده یا خیر |
source | string اصلی را برای ما برمیگردونه |
sticky | نشان دهنده دشوار بودن یا نبودن جستجو |
unicode | نشان دهنده فعال بودن یا نبودن unicode |
برخی از متدهای RegExp:
متد | توضیحات |
---|---|
exec() | این فانکشن بدنبال اولین مطابقت متن با الگوی تعریف شده میگرده و اولین مطابقت را برمیگردونه |
test() | با یک مقدار true یا false مطابقت متن با الگوی تعریف شده را به ما میگه |
toString() | الگو و عبارت با قاعده مارو تبدیل به string میکنه |
compile() | در طول اجرای یک اسکریپت، یک عبارت منظم را دوباره کامپایل می کند. |
آبجکت های بنیادی:
اینها آبجکت های بنیادی هستند که سایر آبجکت ها برپایه اونها ایجاد شدن.
1. Object
- آبجکت Object را میتوان بوسیله کانستراکتور
Object()
ایجاد کرد. - همچنین میتوان بوسیله شناسه آبجکت ها یعنی
{ }
خود آبجکت را ایجاد کرد.
متدهای Object:
متد | توضیحات |
---|---|
assign() | تمامی کلیدها و مقادیر آبجکت داده شده را به آبجکت مدنظر اضافه میکنه |
create() | جهت ایجاد یک آبجکت جدید |
entries() | یک آرایه ایی برمیگردونه شامل [key, value] های آبجکت داده شده |
freeze() | آبجکت را فریز میکنه و دیگه نمیشه تغییری توی اون آبجکت ایجاد کرد |
is() | برسی مساوی بودن یا نبودن دو مقدار |
keys() | یک آرایه شامل تمام کلیدهای آبجکت داده شده برمیگردونه |
seal() | جلوگیری از حذف شدن یک پراپرتی از آبجکت داده شده |
values() | آرایه ایی شامل تمام value های آبجکت مارو برمیگردونه |
2. Function
- آبجکت Function اساس هر فانکشن جاوااسکریپتی هستش
- آبجکت Function را میشه با کانستراکتور
Function()
ایجاد کرد. - از کانستراکتور Function استفاده میشه تا فانکشن هایی ایجاد بشن که فقط توی global scope اجرا میشن
پراپرتی های Function:
پراپرتی ها | توضیحات |
---|---|
length | تعداد پارامترهایی که فانکشن انتظار داره دریافت کنه |
displayName | نام فانکشن |
name | نام فانکشن |
arguments | آرگومان های دریافتی یک فانکشن در قالب آرایه |
متدهای Function:
متد | توضیحات |
---|---|
toString() | فانکشن را در قالب string به ما میده |
call(thisArg[, arg1, arg2, ...argN]) | مقادیر استفاده شده در فانکشن را میشه مثل آرگیومنت ها بهش پاس داد |
bind(thisArg[, arg1[, arg2[, ...argN]]]) | یک فانکشن را به یک مقدار یا متغیر خاص متصل میکند تا فانکشن جدیدی با رفتار یا پارامترهای مشخص شده ایجاد شود. |
apply(thisArg [, argsArray]) | یک فانکشن را با یک مقدار آرایهای از آرگومانها صدا میزند، به عبارت دیگر، میتوانید لیستی از آرگومانها را به یک فانکشن ارسال کنید. |