۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

استفاده از اشیاء داخلی جاوا اسکریپت

اشیاء و توابع جاوا اسکریپت داخلی آنهایی هستند که همیشه از آنها استفاده خواهید کرد. در اینجا نحوه استفاده از Object، JSON، String، Math، Date و کنسول در برنامه های جاوا اسکریپت آمده است.

اشیاء و توابع جاوا اسکریپت داخلی آنهایی هستند که همیشه از آنها استفاده خواهید کرد. در اینجا نحوه استفاده از Object، JSON، String، Math، Date و کنسول در برنامه های جاوا اسکریپت آمده است.

اشیاء داخلی جاوا اسکریپت عبارتند از Object، JSON، console، String، Math< /code>، Date، و اشیاء window و global. اینها برخی از مهم ترین و مفیدترین بخش های زبان جاوا اسکریپت هستند. آنها با هم عناصر ضروری محیط برنامه نویسی در هر دو پلتفرم مرورگر و سمت سرور مانند Node هستند.

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

Object هدف اصلی همه نمونه‌های اولیه در جاوا اسکریپت است. جدا از ارائه پایه‌ای برای مدل شی جاوا اسکریپت، Object روش‌های مهمی مانند toString() و assign() را ارائه می‌دهد. هر شی در جاوا اسکریپت به لطف Object این روش ها را دارد.

روش toString() بسیار ساده است. شما می توانید آن را روی هر چیزی فراخوانی کنید، و اگر چیزی تعریف نشده باشد، از نسخه پیش فرض استفاده می کند. بسیاری از اشیاء، مانند آرایه ها، نسخه خود را تعریف می کنند. اشیاء سفارشی همچنین می توانند یک نسخه را تعریف کنند. وقتی یک شی را در یک رشته به معنای واقعی کلمه درون یابی می کنید—console.log("This is my object: " + myObject)— متد toString() را فراخوانی می کند.. p>

روش assign() مکانیزمی برای شبیه سازی اشیا است. این یک روش ثابت در خود Object است:


let object1 = {foo:”bar”};
let object2 = Object.assign({}, object1);
console.log(object2.foo); // outputs “bar”

توجه داشته باشید که assign() یک کپی کم عمق ایجاد می کند، به این معنی که ویژگی های تودرتو را کپی نمی کند. همچنین، کپی دارای ارجاعاتی به همان ویژگی های اشاره گر است (یعنی object1.objectRef === object2.objectRef).

شیء JSON

از همه اشیاء داخلی جاوا اسکریپت، JSON ممکن است بیشترین استفاده را داشته باشد. این به شما امکان می دهد بین رشته های JSON و اشیاء JSON زنده تغییر شکل دهید. (برای اطلاعات بیشتر در مورد علامت گذاری شی جاوا اسکریپت، به پرایمر InfoWorld، JSON چیست؟ مراجعه کنید.)

شیء JSON همیشه مفید است. در اینجا یک مثال است که ممکن است آشنا باشد:


let stringJson = '{"nums": [1,2,3,4]}';
console.log(JSON.parse(stringJson).nums[0]); // outputs “۱”
let jsonObject = {“letters”: [a,b,c,d]};
console.log(JSON.stringify(jsonObject)); // outputs “{“letters”: [a,b,c,d]}”

اینها روشهای قدرتمندی هستند که استفاده از JSON در جاوا اسکریپت را بسیار ساده می کنند. سهولت کار با JSON یکی از نکات مهم جاوا اسکریپت است.

نکته ای که باید به آن توجه داشت این است که JSON.parse() و stringify() نمی توانند مراجع دایره ای را مدیریت کنند.

شیء کنسول

گفتم JSON محبوب‌ترین شی داخلی جاوا اسکریپت است، اما کنسول دومین مورد نزدیک است. اینجا جایی است که می توانید وارد JavaScript سمت سرور و مرورگر شوید. در مرورگر، تماس‌ها به کنسول برنامه‌نویس خروجی می‌شوند که با کلید F12 قابل دسترسی است. با یک پلتفرم سمت سرور مانند Node، به کنسول سیستم عامل می‌رود:


console.log(“A generic logging statement”);
console.debug(“A very nit picky logging statement”);
console.info(“Info statement”);
console.warn(“A warning…”)
console.error(“An error!”);

اگر مراقب هستید، از سطح گزارش مناسب استفاده کنید. اگر عجله دارید، console.log() اغلب کافی است. همیشه هنگام برخورد با یک وضعیت خطا از console.error() استفاده کنید و مطمئن شوید که علت را تایید کنید:


console.error(“Bad stuff happening”, rootError);

شیء String

شئ String همیشه استفاده می شود. اشیاء جدید String بطور ضمنی با استفاده از یک انتساب متغیر ایجاد می شوند. به عنوان مثال،


let myString = "This is a string";

این یک رشته با متن مشخص شده به نام myString ایجاد می‌کند.

اشیاء

رشته یک ویژگی دارند: length. ویژگی length طول رشته را برمی‌گرداند و از نحو string.length استفاده می‌کند، جایی که string نام متغیر رشته است. هر دو کد زیر ۱۶ را نمایش می دهند:


console.log("This is a string".length)

راه دیگری برای نوشتن آن وجود دارد:


const myString = "This is a string";
console.log(myString.length);

در حالی که ممکن است فقط یک ویژگی string وجود داشته باشد، جاوا اسکریپت از تعداد زیادی روش پشتیبانی می کند که می توانند با رشته ها استفاده شوند. این روش ها را می توان تقریباً به دو دسته تقسیم کرد: مدیریت رشته و قالب متن.

روش های مدیریت رشته عبارتند از substring، indexOf، lastIndexOf و toLowerCase. اینها برای برگرداندن یا تغییر محتوای رشته به نوعی استفاده می شوند. برای مثال، روش substring بخش مشخصی از یک رشته را برمی‌گرداند. متد indexOf مکان یک کاراکتر یا گروهی از کاراکترها را در یک رشته تعیین می کند. و روش toLowerCase رشته را به حروف کوچک تبدیل می کند. (همانطور که می توانید تصور کنید، یک روش toUpperCase نیز وجود دارد.)

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


let tempVar = "this text is now upper case".toUpperCase();

یا


let myString = "this text is now upper case";
let tempVar = myString.toUpperCase();

در اینجا یک راهنمای سریع برای ویژگی‌ها و روش‌های رشته وجود دارد.

شیء ریاضی

شئ Math جاوا اسکریپت توابع حسابی و مثلثاتی پیشرفته ای را ارائه می دهد، که بر روی عملگرهای اساسی حسابی جاوا اسکریپت (plus، minus، ضرب<plus) ارائه می کند. /code>، تقسیم). هنگام برخورد با اعداد، شی Math بسیار مفید است.

ویژگی های شی Math جاوا اسکریپت به عنوان ثابت در نظر گرفته می شود. در واقع، نام ویژگی‌ها همه با حروف بزرگ هستند، طبق قرارداد معمول بزرگ کردن ثابت متغیرها. این ویژگی‌ها مقادیری را که اغلب استفاده می‌شوند، شامل pi و جذر ۲ برمی‌گردانند. روش‌های Math در محاسبات ریاضی و مثلثاتی استفاده می‌شوند. شیء شیء روش ریاضی مفید شامل سقف، کف، پوو، اکسپت (نما)، حداکثر، حداقل، گرد و تصادفی است.

شیء Math ثابت است، بنابراین برای استفاده از آن نیازی به ایجاد شی جدید ندارید. برای دسترسی به ویژگی‌ها و متد شی Math، فقط آن را به همراه متد یا ویژگی مورد نظر خود مشخص می‌کنید. به عنوان مثال، برای برگرداندن مقدار pi، باید تایپ کنید:


var pi = Math.PI;

به طور مشابه، برای استفاده از یک روش ریاضی، نام روش را به همراه پارامترهایی که می خواهید استفاده کنید، ارائه می دهید. برای گرد کردن مقدار pi، برای مثال، از:

استفاده کنید


var pi = Math.PI;
var pieAreRound = Math.round(pi);       // displays 3

توجه داشته باشید که باید شی Math را با نام برای هر روش یا ویژگی که می خواهید استفاده کنید مشخص کنید. جاوا اسکریپت کلمات کلیدی PI و round را به تنهایی تشخیص نمی دهد. یک استثنا این است که می توانید از عبارت with برای مرتبط کردن نام متدها و ویژگی ها با شی Math استفاده کنید. زمانی که باید از چندین ویژگی و روش Math استفاده کنید، این تکنیک یک صرفه جویی در فضای مفید است. می توانیم مثال قبلی را به صورت زیر بنویسیم:


with (Math) {
        var pi = PI;
        var pieAreRound = round(pi);
        alert (pieAreRound)
}

در اینجا یک راهنمای سریع برای ویژگی‌ها و روش‌های ریاضی وجود دارد.

شیء تاریخ

تاریخ‌ها در چشم‌انداز برنامه‌نویسی، منطقه‌ای به‌طور بدنام هستند. از زمان نگارش این مقاله، جاوا اسکریپت در آستانه افزودن یک API جدید Temporal برای کمک به ساده‌تر کردن آن‌ها است. در ضمن، ما از شی Date استفاده می کنیم.

تاریخ‌ها حول مُهرهای زمان ساخته می‌شوند. اگر یک برنامه نویس کهنه کار هستید، احتمالاً با این راه حل کنجکاو برای زمان آشنا هستید، که به طور خودسرانه ساعت یک میلی ثانیه را در نیمه شب اول ژانویه ۱۹۷۰ شروع می کند. اگر در زمینه توسعه جدیدتر هستید، به زودی با اندیشه. اساساً زمان‌های رایانه از آن تاریخ شروع می‌شود و هر مهر زمانی قبل یا بعد با جمع یا تفریق میلی‌ثانیه نشان داده می‌شود. (زمانی که از ثانیه برای شمارش استفاده می کنید، به زمان یونیکس دوره شناخته می شود.)

ما همچنین می‌توانیم عناصر زمانی مانند روز و ساعت را اضافه کنیم. به عنوان مثال، اگر یک تاریخ جدید با let myDate = new Date() ایجاد کنید، یک شی را روی زمان فعلی تنظیم خواهید کرد:


let myDate = new Date();
myDate.getTime() // outputs: 1695329035652
myDate.getDay() // outputs: 4 (0 = sunday, 1 = monday, etc)

می‌توانید ببینید که getTime() زمان را از تاریخ ۱ ژانویه ۱۹۷۰ بر حسب میلی‌ثانیه تحویل می‌دهد. سایر روش‌ها فیلدهای دیگری مانند year را ارائه می‌دهند. متدهای رایج مورد استفاده get و set هستند که مقدار مربوطه را در شی Date بدست می‌آورند یا تنظیم می‌کنند:

  • get/setHours() ساعت را برمی گرداند
  • get/setMinutes() دقیقه ها را برمی گرداند
  • get/setSeconds() ثانیه ها را برمی گرداند
  • get/setYear() سال را برمی گرداند (“۹۶” ۱۹۹۶ است)
  • get/setMonth() ماه را برمی گرداند (“۰” ژانویه است)
  • get/setDate() روز ماه را برمی‌گرداند
  • get/setDay() روز هفته را برمی‌گرداند (“۰” یکشنبه است)

ساخت یک شی Date جدید می تواند چندین شکل داشته باشد. برای برگرداندن یک شی حاوی تاریخ و زمان فعلی، از شی Date بدون پارامتر استفاده می کنید که مشاهده کرده اید. همچنین، می توانید تاریخ و زمان معینی را به عنوان بخشی از سازنده تاریخ مشخص کنید. هر یک از این روش‌ها مجاز است—هر دو شی تاریخ جدید را روی ۱ ژانویه ۲۰۲۴ در نیمه شب به وقت محلی تنظیم می‌کنند.


let myDate = new Date ("January 1 2024 00:00:00")

let myDate = new Date(2024, 0, 1, 0, 0, 0);

مثال دوم از این قالب

استفاده می کند

  • ۲۰۲۴: سال
  • ۰: ماه (ژانویه با ۰، فوریه با ۱ و غیره نشان داده شده است)
  • ۱: روز ماه
  • ۰: ساعت (نیمه شب)
  • ۰: دقیقه
  • ۰: دوم

برای استفاده از روش Date، روش را به شیء تاریخی که قبلا ایجاد کرده اید اضافه کنید. به عنوان مثال، برای بازگشت به سال جاری، از:

استفاده کنید


let now = new Date();
let yearNow = now.getFullYear();

پنجره و جهانی

در مرورگر، شما همیشه در داخل شی window در حال اجرا هستید. در محیط های Node و Node مانند مانند Bun و Deno، شما همیشه در داخل global در حال اجرا هستید. اینها به عنوان زمینه آخرین راه حل عمل می کنند. معمولاً نباید چیزهایی را در آنها قرار دهید – این طراحی بدی است. اما مهم است که بدانیم آنها آنجا هستند، زیرا آنها به عنوان محفظه همه چیز عمل می کنند و بسیاری از دیگر اشیاء و عملکردهای داخلی مانند کنسول را نگه می دارند.

نتیجه گیری

در ابتدا، ارتش اشیاء جاوا اسکریپت می تواند گیج کننده باشد، اما بسیاری از آنها بسیار تخصصی هستند. شما اغلب از آنها در یک برنامه معمولی جاوا اسکریپت استفاده نمی کنید. اشیاء داخلی جاوا اسکریپت یک نژاد متفاوت هستند. از آنجا که آنها به هیچ کتابخانه خارجی وابسته نیستند، و از آنجا که آنها چنین عملکرد ضروری را ارائه می دهند، اشیاء داخلی تمایل دارند در اکثر سناریوها به شدت مورد استفاده قرار گیرند. تسلط بر آنها کمک زیادی به توسعه تسلط کلی جاوا اسکریپت شما دارد.