From 6700196a686ece2c928c7550f447a2396e78c91b Mon Sep 17 00:00:00 2001 From: Amirhossein Veysi Date: Mon, 6 Sep 2021 17:50:30 +0430 Subject: [PATCH 1/5] Article translated --- .../05-global-object/article.md | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/1-js/06-advanced-functions/05-global-object/article.md b/1-js/06-advanced-functions/05-global-object/article.md index 40131e339..1002a1e80 100644 --- a/1-js/06-advanced-functions/05-global-object/article.md +++ b/1-js/06-advanced-functions/05-global-object/article.md @@ -1,89 +1,89 @@ -# Global object +# شی گلوبال -The global object provides variables and functions that are available anywhere. By default, those that are built into the language or the environment. +شیء گلوبال متغیرها و عملکردهایی را ارائه می‌دهد که در هر مکانی در دسترس هستند. به طور پیش فرض، مواردی که در زبان یا محیط ساخته شده اند. -In a browser it is named `window`, for Node.js it is `global`, for other environments it may have another name. +در مرورگر `window` نام دارد، برای Node.js `global` است، برای محیط‌های دیگر ممکن است نامی متفاوت داشته باشد. -Recently, `globalThis` was added to the language, as a standardized name for a global object, that should be supported across all environments. It's supported in all major browsers. +اخیراً `globalThis` به عنوان نام استاندارد شده برای یک شیء گلوبال به زبان اضافه شده است که باید در همه محیط‌ها پشتیبانی شود. در همه مرورگرهای اصلی پشتیبانی می‌شود. -We'll use `window` here, assuming that our environment is a browser. If your script may run in other environments, it's better to use `globalThis` instead. +ما با فرض اینکه محیط ما یک مرورگر است، از `window` استفاده می‌کنیم. اگر اسکریپت شما ممکن است در محیط‌های دیگر اجرا شود، بهتر است به جای آن از `globalThis` استفاده کنید. -All properties of the global object can be accessed directly: +دسترسی مستقیم به تمام ویژگی‌های شیء گلوبال امکان پذیر است: ```js run -alert("Hello"); -// is the same as -window.alert("Hello"); +alert("سلام"); +// مثل این است که +window.alert("سلام"); ``` -In a browser, global functions and variables declared with `var` (not `let/const`!) become the property of the global object: +در مرورگر، توابع و متغیرهای گلوبال تعریف شده با `var` (نه `let/const`!) به ویژگی شیء گوبال تبدیل می شوند: ```js run untrusted refresh var gVar = 5; -alert(window.gVar); // 5 (became a property of the global object) +alert(window.gVar); // 5 (به یک ویژگی از شیء گلوبال تبدیل شد) ``` -The same effect have function declarations (statements with `function` keyword in the main code flow, not function expressions). +اعلان تابع (عبارات دارای کلمه کلیدی `تابع` در جریان کد اصلی، نه عبارات تابع) نیز همین تأثیر را دارد. -Please don't rely on that! This behavior exists for compatibility reasons. Modern scripts use [JavaScript modules](info:modules) where such a thing doesn't happen. +لطفا به آن تکیه نکنید! این رفتار به دلایل سازگاری وجود دارد. اسکریپت های مدرن از [ماژول های جاوا اسکریپت](info:modules) در مواردی که چنین چیزی اتفاق نمی افتد استفاده می کنند. -If we used `let` instead, such thing wouldn't happen: +اگر از `let` به جای آن استفاده کنیم، چنین اتفاقی نمی افتد: ```js run untrusted refresh let gLet = 5; -alert(window.gLet); // undefined (doesn't become a property of the global object) +alert(window.gLet); // undefined (به یک ویژگی از شیء گلوبال تبدیل نمی‌شود) ``` -If a value is so important that you'd like to make it available globally, write it directly as a property: +اگر مقدار آنقدر مهم است که می خواهید آن را در سطح عمومی در دسترس قرار دهید، آن را مستقیماً به عنوان یک ویژگی بنویسید: ```js run *!* -// make current user information global, to let all scripts access it +// اطلاعات کاربر فعلی را جهانی کنید، تا همه اسکریپت ها به آن دسترسی داشته باشند window.currentUser = { - name: "John" + name: "علی" }; */!* -// somewhere else in code -alert(currentUser.name); // John +// جایی دیگر در کد +alert(currentUser.name); // علی -// or, if we have a local variable with the name "currentUser" -// get it from window explicitly (safe!) -alert(window.currentUser.name); // John +// یا اگر یک متغیر محلی با نام "currentUser" داریم +// آن را به صراحت از window دریافت کنید (ایمن!) +alert(window.currentUser.name); // علی ``` -That said, using global variables is generally discouraged. There should be as few global variables as possible. The code design where a function gets "input" variables and produces certain "outcome" is clearer, less prone to errors and easier to test than if it uses outer or global variables. +با این وجود، استفاده از متغیرهای جهانی عموماً دلسرد می شود. باید تا حد ممکن متغیرهای جهانی وجود داشته باشد. طراحی کد که در آن یک تابع متغیرهای "ورودی" دریافت می کند و "نتیجه" خاصی را ایجاد می کند، واضح تر، کمتر مستعد خطا و آزمایش راحت تر از مواردی است که از متغیرهای خارجی یا جهانی استفاده می کند. -## Using for polyfills +## استفاده برای پلی‌فیل -We use the global object to test for support of modern language features. +ما از شیء گلوبال برای آزمایش پشتیبانی از ویژگی های مدرن زبان استفاده می کنیم. -For instance, test if a built-in `Promise` object exists (it doesn't in really old browsers): +به عنوان مثال، آزمایش اینکه آیا یک شیء `Promise` وجود دارد (در مرورگرهای قدیمی واقعاً وجود ندارد): ```js run if (!window.Promise) { - alert("Your browser is really old!"); + alert("مرورگر شما واقعا قدیمی است!"); } ``` -If there's none (say, we're in an old browser), we can create "polyfills": add functions that are not supported by the environment, but exist in the modern standard. +اگر هیچ کدام وجود نداشت (به عنوان مثال، ما در یک مرورگر قدیمی هستیم)، می‌توانیم "polyfills" ایجاد کنیم: اضافه کردن توابعی که توسط محیط پشتیبانی نمی شوند، اما در استاندارد مدرن وجود دارند. ```js run if (!window.Promise) { - window.Promise = ... // custom implementation of the modern language feature + window.Promise = ... // پیاده سازی سفارشی ویژگی مدرن زبان } ``` -## Summary +## خلاصه -- The global object holds variables that should be available everywhere. +- شیء گلوبال متغیرهایی را نگه می‌دارد که باید در همه‌جا در دسترس باشند. - That includes JavaScript built-ins, such as `Array` and environment-specific values, such as `window.innerHeight` -- the window height in the browser. -- The global object has a universal name `globalThis`. + این شامل پیشفرض‌های جاوا اسکریپت ، مانند `Array` و مقادیر خاص محیط، مانند` window.innerHeight`-- ارتفاع پنجره در مرورگر است. +- شی گلوبال دارای نام عمومی `globalThis` است. - ...But more often is referred by "old-school" environment-specific names, such as `window` (browser) and `global` (Node.js). -- We should store values in the global object only if they're truly global for our project. And keep their number at minimum. -- In-browser, unless we're using [modules](info:modules), global functions and variables declared with `var` become a property of the global object. -- To make our code future-proof and easier to understand, we should access properties of the global object directly, as `window.x`. + ... اما بیشتر اوقات با نام‌های خاص محیط قدیمی "old-school" ،مانند `window` (مرورگر) و `global` (Node.js) نامیده می شود. +- ما باید مقادیر را در شیء گلوبال تنها در صورتی ذخیره کنیم که واقعاً برای پروژه‌ما عمومی باشد. و تعداد آنها را به حداقل برسانیم. +- در مرورگر، مگر اینکه از [ماژول ها](info:modules) استفاده کنیم، توابع و متغیرهای عمومی اعلام شده با `var` به یک ویژگی شیء گلوبال تبدیل می شوند. +- برای اینکه کد ما در آینده ایمن و قابل فهم باشد، باید مستقیماً به خواص شیء گلوبال به عنوان `window.x` دسترسی پیدا کنیم. From 2ea7ec21d1b273aeadeb4da11ad3f5ecf5a0ac6b Mon Sep 17 00:00:00 2001 From: Amirhossein Veysi Date: Thu, 9 Sep 2021 10:55:22 +0430 Subject: [PATCH 2/5] Issues resolved --- .../05-global-object/article.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/1-js/06-advanced-functions/05-global-object/article.md b/1-js/06-advanced-functions/05-global-object/article.md index 1002a1e80..21a6c3c63 100644 --- a/1-js/06-advanced-functions/05-global-object/article.md +++ b/1-js/06-advanced-functions/05-global-object/article.md @@ -1,7 +1,7 @@ # شی گلوبال -شیء گلوبال متغیرها و عملکردهایی را ارائه می‌دهد که در هر مکانی در دسترس هستند. به طور پیش فرض، مواردی که در زبان یا محیط ساخته شده اند. +شیء گلوبال متغیرها و عملکردهایی را ارائه می‌دهد که در هر‌مکانی در دسترس هستند. به طور پیش فرض، مواردی که در زبان یا محیط ساخته شده اند. در مرورگر `window` نام دارد، برای Node.js `global` است، برای محیط‌های دیگر ممکن است نامی متفاوت داشته باشد. @@ -17,7 +17,7 @@ alert("سلام"); window.alert("سلام"); ``` -در مرورگر، توابع و متغیرهای گلوبال تعریف شده با `var` (نه `let/const`!) به ویژگی شیء گوبال تبدیل می شوند: +در مرورگر، توابع و متغیرهای گلوبال تعریف شده با `var` (نه `let/const`!) به ویژگی شیء گوبال تبدیل می‌شوند: ```js run untrusted refresh var gVar = 5; @@ -27,9 +27,9 @@ alert(window.gVar); // 5 (به یک ویژگی از شیء گلوبال تبدی اعلان تابع (عبارات دارای کلمه کلیدی `تابع` در جریان کد اصلی، نه عبارات تابع) نیز همین تأثیر را دارد. -لطفا به آن تکیه نکنید! این رفتار به دلایل سازگاری وجود دارد. اسکریپت های مدرن از [ماژول های جاوا اسکریپت](info:modules) در مواردی که چنین چیزی اتفاق نمی افتد استفاده می کنند. +لطفا به آن تکیه نکنید! این رفتار به دلایل سازگاری وجود دارد. اسکریپت‌های مدرن از [ماژول‌های جاوا اسکریپت](info:modules) در مواردی که چنین چیزی اتفاق نمی‌افتد استفاده می‌کنند. -اگر از `let` به جای آن استفاده کنیم، چنین اتفاقی نمی افتد: +اگر از `let` به جای آن استفاده کنیم، چنین اتفاقی نمی‌افتد: ```js run untrusted refresh let gLet = 5; @@ -37,11 +37,11 @@ let gLet = 5; alert(window.gLet); // undefined (به یک ویژگی از شیء گلوبال تبدیل نمی‌شود) ``` -اگر مقدار آنقدر مهم است که می خواهید آن را در سطح عمومی در دسترس قرار دهید، آن را مستقیماً به عنوان یک ویژگی بنویسید: +اگر مقدار آنقدر مهم است که می‌خواهید آن را در سطح عمومی در دسترس قرار دهید، آن را مستقیماً به عنوان یک ویژگی بنویسید: ```js run *!* -// اطلاعات کاربر فعلی را جهانی کنید، تا همه اسکریپت ها به آن دسترسی داشته باشند +// اطلاعات کاربر فعلی را جهانی کنید، تا همه اسکریپت‌ها به آن دسترسی داشته باشند window.currentUser = { name: "علی" }; @@ -55,11 +55,11 @@ alert(currentUser.name); // علی alert(window.currentUser.name); // علی ``` -با این وجود، استفاده از متغیرهای جهانی عموماً دلسرد می شود. باید تا حد ممکن متغیرهای جهانی وجود داشته باشد. طراحی کد که در آن یک تابع متغیرهای "ورودی" دریافت می کند و "نتیجه" خاصی را ایجاد می کند، واضح تر، کمتر مستعد خطا و آزمایش راحت تر از مواردی است که از متغیرهای خارجی یا جهانی استفاده می کند. +با این وجود، استفاده از متغیرهای گلوبال عموماً دلسرد کننده است. باید تا حد ممکن متغیرهای جهانی وجود داشته باشد. طراحی کد که در آن یک تابع متغیرهای "ورودی" دریافت می‌کند و "نتیجه" خاصی را ایجاد می‌کند، به وضوح، کمتر مستعد خطا و آزمایش راحت تر از مواردی است که از متغیرهای خارجی یا جهانی استفاده می‌کند. ## استفاده برای پلی‌فیل -ما از شیء گلوبال برای آزمایش پشتیبانی از ویژگی های مدرن زبان استفاده می کنیم. +ما از شیء گلوبال برای آزمایش پشتیبانی از ویژگی‌های مدرن زبان استفاده می‌کنیم. به عنوان مثال، آزمایش اینکه آیا یک شیء `Promise` وجود دارد (در مرورگرهای قدیمی واقعاً وجود ندارد): ```js run @@ -68,7 +68,7 @@ if (!window.Promise) { } ``` -اگر هیچ کدام وجود نداشت (به عنوان مثال، ما در یک مرورگر قدیمی هستیم)، می‌توانیم "polyfills" ایجاد کنیم: اضافه کردن توابعی که توسط محیط پشتیبانی نمی شوند، اما در استاندارد مدرن وجود دارند. +اگر هیچ کدام وجود نداشت (به عنوان مثال، ما در یک مرورگر قدیمی هستیم)، می‌توانیم "polyfills" ایجاد کنیم: اضافه کردن توابعی که توسط محیط پشتیبانی نمی‌شوند، اما در استاندارد مدرن وجود دارند. ```js run if (!window.Promise) { @@ -80,10 +80,10 @@ if (!window.Promise) { - شیء گلوبال متغیرهایی را نگه می‌دارد که باید در همه‌جا در دسترس باشند. - این شامل پیشفرض‌های جاوا اسکریپت ، مانند `Array` و مقادیر خاص محیط، مانند` window.innerHeight`-- ارتفاع پنجره در مرورگر است. + این شامل پیشفرض‌های جاوا اسکریپت، مانند `Array` و مقادیر خاص محیط، مانند` window.innerHeight`-- ارتفاع پنجره در مرورگر است. - شی گلوبال دارای نام عمومی `globalThis` است. - ... اما بیشتر اوقات با نام‌های خاص محیط قدیمی "old-school" ،مانند `window` (مرورگر) و `global` (Node.js) نامیده می شود. + ... اما بیشتر اوقات با نام‌های خاص محیط قدیمی "old-school" ،مانند `window` (مرورگر) و `global` (Node.js) نامیده می‌شود. - ما باید مقادیر را در شیء گلوبال تنها در صورتی ذخیره کنیم که واقعاً برای پروژه‌ما عمومی باشد. و تعداد آنها را به حداقل برسانیم. -- در مرورگر، مگر اینکه از [ماژول ها](info:modules) استفاده کنیم، توابع و متغیرهای عمومی اعلام شده با `var` به یک ویژگی شیء گلوبال تبدیل می شوند. +- در مرورگر، مگر اینکه از [ماژول‌ها](info:modules) استفاده کنیم، توابع و متغیرهای عمومی اعلام شده با `var` به یک ویژگی شیء گلوبال تبدیل می‌شوند. - برای اینکه کد ما در آینده ایمن و قابل فهم باشد، باید مستقیماً به خواص شیء گلوبال به عنوان `window.x` دسترسی پیدا کنیم. From d4e39417a8fbf7fe93015b6afa215e6f4138374b Mon Sep 17 00:00:00 2001 From: Amirhossein Veysi Date: Thu, 9 Sep 2021 11:00:23 +0430 Subject: [PATCH 3/5] an issue resolved --- 1-js/06-advanced-functions/05-global-object/article.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/1-js/06-advanced-functions/05-global-object/article.md b/1-js/06-advanced-functions/05-global-object/article.md index 21a6c3c63..bb9e0c534 100644 --- a/1-js/06-advanced-functions/05-global-object/article.md +++ b/1-js/06-advanced-functions/05-global-object/article.md @@ -7,7 +7,7 @@ اخیراً `globalThis` به عنوان نام استاندارد شده برای یک شیء گلوبال به زبان اضافه شده است که باید در همه محیط‌ها پشتیبانی شود. در همه مرورگرهای اصلی پشتیبانی می‌شود. -ما با فرض اینکه محیط ما یک مرورگر است، از `window` استفاده می‌کنیم. اگر اسکریپت شما ممکن است در محیط‌های دیگر اجرا شود، بهتر است به جای آن از `globalThis` استفاده کنید. +ما با فرض اینکه محیط ما یک مرورگر است، از `window` ‌کنیم. اگر اسکریپت شما ممکن است در محیط‌های دیگر اجرا شود، بهتر است به جای آن از `globalThis` استفاده کنید. دسترسی مستقیم به تمام ویژگی‌های شیء گلوبال امکان پذیر است: @@ -55,7 +55,7 @@ alert(currentUser.name); // علی alert(window.currentUser.name); // علی ``` -با این وجود، استفاده از متغیرهای گلوبال عموماً دلسرد کننده است. باید تا حد ممکن متغیرهای جهانی وجود داشته باشد. طراحی کد که در آن یک تابع متغیرهای "ورودی" دریافت می‌کند و "نتیجه" خاصی را ایجاد می‌کند، به وضوح، کمتر مستعد خطا و آزمایش راحت تر از مواردی است که از متغیرهای خارجی یا جهانی استفاده می‌کند. +با این وجود، استفاده از متغیرهای گلوبال عموماً دلسرد کننده است. باید تا حد ممکن متغیرهای گلوبال وجود داشته باشد. طراحی کد که در آن یک تابع متغیرهای "ورودی" دریافت می‌کند و "نتیجه" خاصی را ایجاد می‌کند، به وضوح، کمتر مستعد خطا و آزمایش راحت تر از مواردی است که از متغیرهای خارجی یا گلوبال استفاده می‌کند. ## استفاده برای پلی‌فیل From e21ed187d0fb5941f91e955620d03dd04157327d Mon Sep 17 00:00:00 2001 From: Amirhossein Veysi Date: Thu, 9 Sep 2021 11:20:16 +0430 Subject: [PATCH 4/5] some issues solved --- 1-js/06-advanced-functions/05-global-object/article.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/1-js/06-advanced-functions/05-global-object/article.md b/1-js/06-advanced-functions/05-global-object/article.md index bb9e0c534..23f1da621 100644 --- a/1-js/06-advanced-functions/05-global-object/article.md +++ b/1-js/06-advanced-functions/05-global-object/article.md @@ -1,5 +1,5 @@ -# شی گلوبال +# شیء گلوبال شیء گلوبال متغیرها و عملکردهایی را ارائه می‌دهد که در هر‌مکانی در دسترس هستند. به طور پیش فرض، مواردی که در زبان یا محیط ساخته شده اند. @@ -27,7 +27,7 @@ alert(window.gVar); // 5 (به یک ویژگی از شیء گلوبال تبدی اعلان تابع (عبارات دارای کلمه کلیدی `تابع` در جریان کد اصلی، نه عبارات تابع) نیز همین تأثیر را دارد. -لطفا به آن تکیه نکنید! این رفتار به دلایل سازگاری وجود دارد. اسکریپت‌های مدرن از [ماژول‌های جاوا اسکریپت](info:modules) در مواردی که چنین چیزی اتفاق نمی‌افتد استفاده می‌کنند. +لطفا به آن تکیه نکنید! این رفتار به دلایل سازگاری وجود دارد. اسکریپت‌های مدرن از [ماژول‌های جاوا‌اسکریپت](info:modules) در مواردی که چنین چیزی اتفاق نمی‌افتد استفاده می‌کنند. اگر از `let` به جای آن استفاده کنیم، چنین اتفاقی نمی‌افتد: @@ -55,7 +55,7 @@ alert(currentUser.name); // علی alert(window.currentUser.name); // علی ``` -با این وجود، استفاده از متغیرهای گلوبال عموماً دلسرد کننده است. باید تا حد ممکن متغیرهای گلوبال وجود داشته باشد. طراحی کد که در آن یک تابع متغیرهای "ورودی" دریافت می‌کند و "نتیجه" خاصی را ایجاد می‌کند، به وضوح، کمتر مستعد خطا و آزمایش راحت تر از مواردی است که از متغیرهای خارجی یا گلوبال استفاده می‌کند. +با این وجود، استفاده از متغیرهای گلوبال عموماً دلسرد کننده است. باید تا حد ممکن متغیرهای گلوبال وجود داشته باشد. طراحی کد که در آن یک تابع متغیرهای "ورودی" دریافت می‌کند و "نتیجه" خاصی را ایجاد می‌کند، به وضوح، کمتر مستعد خطا می‌شود و آزمایش آن راحت تر از مواردی است که از متغیرهای خارجی یا گلوبال استفاده می‌کنند. ## استفاده برای پلی‌فیل @@ -80,8 +80,8 @@ if (!window.Promise) { - شیء گلوبال متغیرهایی را نگه می‌دارد که باید در همه‌جا در دسترس باشند. - این شامل پیشفرض‌های جاوا اسکریپت، مانند `Array` و مقادیر خاص محیط، مانند` window.innerHeight`-- ارتفاع پنجره در مرورگر است. -- شی گلوبال دارای نام عمومی `globalThis` است. + این شامل پیشفرض‌های جاوا‌اسکریپت، مانند `Array` و مقادیر خاص محیط، مانند` window.innerHeight`-- ارتفاع پنجره در مرورگر است. +- شیء گلوبال دارای نام عمومی `globalThis` است. ... اما بیشتر اوقات با نام‌های خاص محیط قدیمی "old-school" ،مانند `window` (مرورگر) و `global` (Node.js) نامیده می‌شود. - ما باید مقادیر را در شیء گلوبال تنها در صورتی ذخیره کنیم که واقعاً برای پروژه‌ما عمومی باشد. و تعداد آنها را به حداقل برسانیم. From 81ffc8b8fbc26e3cb216f8eef4d3d0b0b2252a97 Mon Sep 17 00:00:00 2001 From: Mahdyar Hasanpour Date: Sun, 12 Sep 2021 12:53:04 +0430 Subject: [PATCH 5/5] Apply suggestions from code review --- 1-js/06-advanced-functions/05-global-object/article.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/1-js/06-advanced-functions/05-global-object/article.md b/1-js/06-advanced-functions/05-global-object/article.md index 23f1da621..034d499a1 100644 --- a/1-js/06-advanced-functions/05-global-object/article.md +++ b/1-js/06-advanced-functions/05-global-object/article.md @@ -1,7 +1,7 @@ # شیء گلوبال -شیء گلوبال متغیرها و عملکردهایی را ارائه می‌دهد که در هر‌مکانی در دسترس هستند. به طور پیش فرض، مواردی که در زبان یا محیط ساخته شده اند. +شیء گلوبال متغیرها و عملکردهایی را ارائه می‌دهد که در هر‌مکانی در دسترس هستند. به طور پیش‌فرض، مواردی که در زبان یا محیط(environment) ساخته شده اند. در مرورگر `window` نام دارد، برای Node.js `global` است، برای محیط‌های دیگر ممکن است نامی متفاوت داشته باشد. @@ -13,7 +13,7 @@ ```js run alert("سلام"); -// مثل این است که +// یکسان است با window.alert("سلام"); ``` @@ -41,7 +41,7 @@ alert(window.gLet); // undefined (به یک ویژگی از شیء گلوبال ```js run *!* -// اطلاعات کاربر فعلی را جهانی کنید، تا همه اسکریپت‌ها به آن دسترسی داشته باشند +// اطلاعات کاربر فعلی را گلوبال کنید، تا همه اسکریپت‌ها به آن دسترسی داشته باشند window.currentUser = { name: "علی" }; @@ -57,7 +57,7 @@ alert(window.currentUser.name); // علی با این وجود، استفاده از متغیرهای گلوبال عموماً دلسرد کننده است. باید تا حد ممکن متغیرهای گلوبال وجود داشته باشد. طراحی کد که در آن یک تابع متغیرهای "ورودی" دریافت می‌کند و "نتیجه" خاصی را ایجاد می‌کند، به وضوح، کمتر مستعد خطا می‌شود و آزمایش آن راحت تر از مواردی است که از متغیرهای خارجی یا گلوبال استفاده می‌کنند. -## استفاده برای پلی‌فیل +## ‌استفاده برای پلی‌فیل‌ها ما از شیء گلوبال برای آزمایش پشتیبانی از ویژگی‌های مدرن زبان استفاده می‌کنیم.