Pull to refresh

Comments 24

Допустимые значения для строк — огонь! Осталось дождаться, когда народ начнет это использовать в .d.ts.
Еще забыли написать про важную вещь — теперь можно безбоязненно замыкать индекс цикла, объявленный как let.

let list = [];
for (let i = 0; i < 5; i++) {
    list.push(() => i);
}

list.forEach(f => console.log(f()));

А компилируется оно в следующий код:
var list = [];
var _loop_1 = function(i) {
    list.push(function () { return i; });
};
for (var i = 0; i < 5; i++) {
    _loop_1(i);
}
list.forEach(function (f) { return console.log(f()); });
А вот и не забыл :) Упомянуто в разделе «мелочи» в конце. Иначе какой-то wall of text получается О_О.
Это не то же самое, что «проверки для цикла «for...in»». То, что область видимости ограничивается только функциями, но не блоками — один из самых досадных багов в архитектуре JS, на который постоянно натыкаются новички. Очень хорошо, что поправили.
А, точняк. Слона-то я и не заметил. Сейчас внесу в статью.
Внес в статью — проверь, пожалуйста.
> Типы как ограничения

Такое вроде бы обычно называется Generics, «Типы как ограничения» совсем не звучит.
Дженерики и раньше были. А вот ограничений на них не было.
Ограничения тоже были, но раньше нельзя было ограничивать один аргумент-тип с помощью другого из того же набора.
То есть вот так можно было всегда:

function test<TA extends SomeA, TB>() { ... }

А теперь можно вот так:

function test<TA extends TB, TB>() { ... }
Ваша правда, спасибо за поправку.
UFO just landed and posted this here
Майкрософтовцы иллюстрируют вот так:

image
UFO just landed and posted this here
Судя по тому, как он подсвечивает 'import'ы, тут не все гдадко. Можешь попробовать переименовать .jsx в .tsx?
>Новая версия компилятора typescript обучена сообщать о потенциальных проблемах с кодом.
>Поведение компилятора для этих случаев можно настроить с помощью вот этих параметров.

Глобальными параметрами настраивать не круто.
Круто, как во всяких eslint'ах комментариями к конкретным блокам.
А разве нельзя сделать локальный файл настроек для проекта? Там же вроде настройки сперва локально ищутся и только потом глобально?
Локальный файл настроек для проекта, это всё равно глобальные настройки для проекта :)

Хорошо иметь возможность указать: «я вообще-то хочу, чтобы мы указывали, где я забыл break в switch, но вот конкретно в этом месте я сделал это намеренно».
В таком ракурсе не рассматривал :(. Для typescript все проверки адекватны, я не могу вот так сходу придумать пример где это будет намереным.
Нет, попроектные настройки это тоже правильно. Но исключения на файл/строку тоже нужны.
Это для вещей типа addEventListener и createElement.
Sign up to leave a comment.