...

Даніель Розенвассер, головний менеджер продуктів Microsoft, оголосив про випуск TypeScript 5.8. Нові випуски функції, як зазвичай, кращого типу. Це також покращує продуктивність та сумісність за допомогою екосистеми JavaScript.

TypeScript 5.8 має розумніший тип умови для умовних типів повернення. Rosenwasser ілюструє це у випуску запису з наступним зразком коду:

declare const untypedCache: Mapany, any>;

function getUrlObject(urlString: string): URL {
    return untypedCache.has(urlString) ?
        untypedCache.get(urlString) :
        urlString;
}

Попередній код представляє тонку помилку типу, яка не виявлена ​​в попередніх випусках TypeScript. Якщо кеш не потрапляє, функція повертає рядок, коли вона повинна повернути URL -адресу.

Новий випуск ловить помилку типу:

declare const untypedCache: Mapany, any>;

function getUrlObject(urlString: string): URL {
    return untypedCache.has(urlString) ?
        untypedCache.get(urlString) :
        urlString;
    
    
}

Новий випуск стосується спеціально з умовними виразами безпосередньо всередині return заяви. Кожна гілка умовної перевірки перевіряється проти декларованого типу повернення функцій, що міститься (якщо існує), тому система типу може спіймати помилку в наведеному вище прикладі.

Багато розробників вітали вдосконалений висновок, хоча один користувач Reddit сказав:

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

Зараз розробники можуть запускати TypeScript без кроку компіляції. З моменту Node.js 23.6 і з новим --erasableSyntaxOnly прапор, TypeScript тепер може працювати безпосередньо в node.js без транспіляції, доки синтаксис стирливий. Синтаксис, що стискається,-це синтаксис специфічного для TypeScript, який не має семантики виконання. Це означає, що анотації типу можна просто видалити і призвести до законного JavaScript без змін у семантиці виконання. Зокрема, наступний код забезпечив би кілька помилок типу:

//  error: A namespace with runtime code.
namespace container {
    foo.method();

    export type Bar = string;
}

//  error: An `import =` alias
import Bar = container.Bar;

class Point {
    //  error: Parameter properties
    constructor(public x: number, public y: number) { }
}

//  error: An enum declaration.
enum Direction {
    Up,
    Down,
    Left,
    Right,
}

І навпаки, приклад стирливого синтаксису є:

const foo: string = 'foo'; 

що при створенні стає:

const foo = 'foo';

Експерт TypeScript Метт Покок припускає, що “команда TypeScript шукає майбутнього, де ці синтаксиси більше не будуть використані”, коли одна з декількох пропозицій, що додають типи до JavaScript, досягає етапу 4. Ця пропозиція JavaScript для синтаксису стирального типу, в даний час 1, дійсно також перераховує Rosenwasser як автора та чемпіона.

Пропозиція Тенденції компіляції JavaScript Деталі розділу:

Оскільки синтаксис типу не підтримується в JavaScript, повинен був існувати деякий інструмент для видалення цих типів перед запуском будь -якого коду. […]

Кроки побудови Додайте ще один рівень проблем до написання коду. Наприклад, забезпечення свіжості виходу збірки, оптимізації швидкості збірки та управління Sourcemaps для налагодження-це все, що JavaScript спочатку поступово. Ця простота зробила JavaScript набагато доступнішим.

Ця пропозиція зменшить потребу в стадії збірки, який може зробити деякі налаштування розробки набагато простішими. Користувачі можуть просто запустити код, який вони написали.

З --module nodenext прапор, TypeScript тепер повністю підтримує require() Для модулів JavaScript.

 const { readFile } = require("fs"); const data = readFile("file.txt", "utf-8"); 

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

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

Прес-реліз

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

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

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

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

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

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

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

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