آرایهها - شناسه خالی در جاوااسکریپت
در گولنگ، _ (شناسه خالی) وجود دارد.
myValue, _, _ := myFunction()
به این ترتیب میتوانید مقادیر بازگشتی دوم و سوم یک تابع را نادیده بگیرید.
در جاوااسکریپت امکان انجام این کار وجود دارد؟
function myFunction() {
return [1,2,3]
}
// Something like this
const [first, _, _] = myFunction()
پاسخ شماره ۱
هنگام بازسازی ساختار، آیتمهای استفادهنشده میتوانند کاملاً حذف شوند (نیازی به مشخص کردن نام متغیری که بعداً استفاده نمیشود نیست)، و آیتمهای انتهایی آرایه که استفاده نمیشوند حتی نیازی به کاما ندارند (میتوانید آرایه ] را در آخرین آیتم بازسازیشدهای که نیاز دارید پایان دهید):
function myFunction() {
return [1,2,3]
}
const [first] = myFunction()
const [, second] = myFunction()
const [,, third] = myFunction()
console.log(first, second, third);پاسخ شماره ۲
برای کسانی که با گوگل به اینجا میآیند. تا جایی که من پیدا کردم، جاوااسکریپت مکانیزمی برای آرگومانهای خالی تابع ندارد. مثل foo(one, two, three) که تبدیل شود به foo(_, _, three) اگر one و two در تابع استفاده نشوند.
این foo({}, {}, three) وجود دارد.
ظاهراً همه چیز میتواند یک شیء ناشناس باشد. اما نمیدانم آیا 100٪ بدون اثر جانبی است یا نه.
