برنامه نویسی

نمادها و اشیاء در JS♥

Summarize this content to 400 words in Persian Lang

نوع داده نماد

Symbol یک نوع داده در JS است. معمولاً برای ایجاد کلیدهای منحصر به فرد و کلیدهای شی پنهان در جاوا اسکریپت استفاده می شود.

دو نوع نماد وجود دارد

نمادهای محلی – آنها در رجیستری نماد جهانی ثبت نمی شوند و مقادیر حتی با توصیفگر یکسان منحصر به فرد هستند.
نمادهای جهانی – آنها در ثبت جهانی نمادها ثبت می شوند و مقادیر منحصر به فرد نیستند

global symbol registry:رجیستری نماد جهانی فضایی است که نمادهای ایجاد شده با استفاده از Symbol.for در آن ذخیره می شوند.

syntaxدر مثال زیر “جان” یک توصیفگر و key_one و key_two نماد هستند.

const key_one = Symbol(“john”); //local symbol
const key_two = Symbol.for(“john”); //global symbol
console.log(typeof key_one) // symbol
console.log(typeof key_two); //symbol

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تفاوت کلیدی

توصیف کننده مقادیر یکسان در نمادهای محلی یکسان نیست

همانطور که قبلاً گفتم که هر نماد منحصر به فرد است حتی اگر توصیفگر در نمادهای محلی یکسان باشد. بیایید آن را تأیید کنیم.

app

const key_one = Symbol(“john”);
const key_two = Symbol(“john”);
key_one == key_two // false
key_one === key_two //false

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توصیف کننده مقادیر یکسان در نمادهای جهانی یکسان است

const key_one = Symbol.for(“foo”);
const key_two = Symbol.for(“foo”);
console.log(key_one === key_two); //true

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برخی از حقایق در مورد اشیاء و نمادها

symbols به رشته تبدیل نمی شوند.
شما نمی توانید با استفاده از هر دو علامت دسترسی داشته باشید for…in حلقه
حتی با هم نمی توانید به هر دو علامت دسترسی داشته باشید Object.keys() دارایی
هر کلید در اشیا به اعداد زوج تبدیل می شود.
شما می توانید تمام نمادهای یک شی را با استفاده از آن ببینید Object.getOwnPropertySymbols() تابع

app

const zero = Symbol(“0″);
const temp = {
0:”zero”,
1:”one”,
[zero]:”zero”,
1.1:”one one”,
}
const keys = Object.keys(temp); //[“0″,”1″,”1.1”] console.log(temp[1.1]) // one one
console.log(Object.getOwnPropertySymbols(temp)) // [Symbol(0)]

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نحوه وارد کردن توصیفگر Symbol.for()

با استفاده از Symbol.keyFor(symbol) می تواند برای شما توصیف کننده نمادهای جهانی باشد

const key_one = Symbol.for(“john”)
Symbol.keyFor(key_one) // “john”
typeof Symbol.keyFor(key_one) //string

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

لطفا از من در dev.to و linkedin حمایت کنید💜. TY😊

نوع داده نماد

Symbol یک نوع داده در JS است. معمولاً برای ایجاد کلیدهای منحصر به فرد و کلیدهای شی پنهان در جاوا اسکریپت استفاده می شود.

دو نوع نماد وجود دارد

  1. نمادهای محلی – آنها در رجیستری نماد جهانی ثبت نمی شوند و مقادیر حتی با توصیفگر یکسان منحصر به فرد هستند.
  2. نمادهای جهانی – آنها در ثبت جهانی نمادها ثبت می شوند و مقادیر منحصر به فرد نیستند

global symbol registry:رجیستری نماد جهانی فضایی است که نمادهای ایجاد شده با استفاده از Symbol.for در آن ذخیره می شوند.

syntax
در مثال زیر “جان” یک توصیفگر و key_one و key_two نماد هستند.

const key_one = Symbol("john"); //local symbol
const key_two = Symbol.for("john"); //global symbol
console.log(typeof key_one) // symbol
console.log(typeof key_two); //symbol
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تفاوت کلیدی

توصیف کننده مقادیر یکسان در نمادهای محلی یکسان نیست

همانطور که قبلاً گفتم که هر نماد منحصر به فرد است حتی اگر توصیفگر در نمادهای محلی یکسان باشد. بیایید آن را تأیید کنیم.

app

const key_one = Symbol("john");
const key_two = Symbol("john");
key_one == key_two // false
key_one === key_two //false
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توصیف کننده مقادیر یکسان در نمادهای جهانی یکسان است

const key_one = Symbol.for("foo");
const key_two = Symbol.for("foo");
console.log(key_one === key_two); //true
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برخی از حقایق در مورد اشیاء و نمادها

  1. symbols به رشته تبدیل نمی شوند.
  2. شما نمی توانید با استفاده از هر دو علامت دسترسی داشته باشید for...in حلقه
  3. حتی با هم نمی توانید به هر دو علامت دسترسی داشته باشید Object.keys() دارایی
  4. هر کلید در اشیا به اعداد زوج تبدیل می شود.
  5. شما می توانید تمام نمادهای یک شی را با استفاده از آن ببینید Object.getOwnPropertySymbols() تابع

app

const zero = Symbol("0");
const temp = {
 0:"zero",
 1:"one",
 [zero]:"zero",
 1.1:"one one",
}
const keys = Object.keys(temp); //["0","1","1.1"]
console.log(temp[1.1]) // one one
console.log(Object.getOwnPropertySymbols(temp)) // [Symbol(0)]
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نحوه وارد کردن توصیفگر Symbol.for()

با استفاده از Symbol.keyFor(symbol) می تواند برای شما توصیف کننده نمادهای جهانی باشد

const key_one = Symbol.for("john")
Symbol.keyFor(key_one) // "john"
typeof Symbol.keyFor(key_one) //string
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

لطفا از من در dev.to و linkedin حمایت کنید💜. TY😊

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا