نمادها و اشیاء در 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 است. معمولاً برای ایجاد کلیدهای منحصر به فرد و کلیدهای شی پنهان در جاوا اسکریپت استفاده می شود.
دو نوع نماد وجود دارد
- نمادهای محلی – آنها در رجیستری نماد جهانی ثبت نمی شوند و مقادیر حتی با توصیفگر یکسان منحصر به فرد هستند.
- نمادهای جهانی – آنها در ثبت جهانی نمادها ثبت می شوند و مقادیر منحصر به فرد نیستند
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😊