...

Технічний комітет ECMA 39 (TC39), орган, відповідальний за еволюцію JavaScript (ECMascript), нещодавно розширив дев'ять пропозицій через його сценічний процес, причому три нові мови стали частиною стандарту: Array.fromasync, error.iserror та явним управлінням ресурсами з using.

Array.fromAsync є утилітою для створення масивів з асинхронних ітерелів. Це спрощує збір даних з таких джерел, як асинхронні генератори або потоки, усуваючи потребу в посібнику for await...of петлі.

Пояснювач функцій наводить наступний приклад у реальному світі з модуля HTTPTRANSFER:

async function toArray(items) { const result = []; for await (const item of items) {
    result.push(item); } return result; } it('empty-pipeline', async () => { const pipeline = new Pipeline(); const result = await toArray(
    pipeline.execute( [ 1, 2, 3, 4, 5 ]));
  assert.deepStrictEqual(
    result, [ 1, 2, 3, 4, 5 ], ); }); 

З новим синтаксисом це стає:

it('empty-pipeline', async () => { const pipeline = new Pipeline(); const result = await Array.fromAsync(
    pipeline.execute( [ 1, 2, 3, 4, 5 ]));
  assert.deepStrictEqual(
    result, [ 1, 2, 3, 4, 5 ], ); }); 

З Error.isError() Метод також просувається до етапу 4, забезпечуючи надійний спосіб перевірити, чи значення – це екземпляр помилок. Альтернатива instanceof Error вважався ненадійним, оскільки він забезпечить помилковий негатив з перехресною реальністю (наприклад, від iframe або вузла vm модулі) Error екземпляр.

Ще одна пропозиція, що досягає етапу 4, – це явне управління ресурсами, введення using Декларація для управління ресурсами, такими як файли або мережеві з'єднання, які потребують чіткого очищення. Ця пропозиція мотивована, зокрема, непослідовними моделями управління ресурсами: iterator.return() Для ітераторів Ecmascript, reader.releaseLock() Для читачів потоку Whatwg, handle.close() для файлів Nodejs та багато іншого.

Також є кілька підніжжя, які пропозиція полегшує. Наприклад, під час управління декількома ресурсами:

const a = ...; const b = ...; try { ... } finally {
  a.close(); 
  b.close(); } 

Атрибути імпорту (раніше твердження про імпорт) просуваються до етапу 3. Ця функція дозволяє розробникам додавати метадані для імпорту декларацій для надання інформації про очікуваний тип модуля, такі як JSON або CSS.

Інші пропозиції, що рухаються вперед на різних етапах, включають Promise.tryспрямований на спрощення помилок у обіцянці ланцюгів, RegExp.escape для безпечного втечі рядків у регулярних виразах тощо. Розробники можуть переглянути повний список у статті в блозі в Інтернеті.

TC39 – це комітет, який розвиває JavaScript. До її членів належать, серед інших, усі основні продавці браузера. Кожна пропозиція щодо функції ECMAScript проходить через такі етапи зрілості:

  • Етап 0: Соломець
  • Етап 1: Пропозиція
  • Етап 2: проект
  • Етап 3: Кандидат
  • Етап 4: закінчений

Особливість буде включена до стандарту, коли його пропозиція досягла етапу 4 і, таким чином, може використовуватися безпечно. Однак підтримка браузера може відставати від прийняття особливостей у стандарті.

Болівія, Парагвай, Бразилія, Уругвай та Аргентина

Прес-реліз

Це машинний переклад випуску нижньої палати Бразилії

Цього четверга (12) нижня палата схвалила Проект законодавчого указу (PDL) 159/22, який передбачає скасування плати за роумінг між МЕРКОСУР країни (Аргентина, Бразилія, Парагвай, Уругвай і Болівія). Текст буде направлений на аналіз до Сенату.

Представлена ​​Представництвом Бразилії в парламенті Меркосур пропозиція включає угоду про скасування збору плати за міжнародний роумінг для кінцевих користувачів Меркосур, підписану в 2019 році.

Мета полягає в тому, щоб дозволити користувачам мобільних телефонів, які подорожують країнами блоку, отримувати плату згідно з планом, укладеним у їхній країні походження, без додаткової плати.

Доповідач тексту для Конституції та Комітету з питань правосуддя та громадянства (CCJ), законодавець Орландо Сілва (PCdoB-SP), рекомендував схвалити угоду.

Джерело: Інформаційне агентство нижньої палати.

Підпишіться на провідну платформу бізнес-аналітики в Латинській Америці з різними інструментами для постачальників, підрядників, операторів, уряду, юридичної, фінансової та страхової галузей.

” class=”btn btn-lg btn__orange-light ” qa-automation=”cmd_robot_btn_footer_content_demo”> Запит на демонстрацію