Обратите внимание на класс «MAIN», в который помещается элемент, например
<div class="container">
<ul class="select">
<li> First</li>
<li>Second</li>
</ul>
</div>
. В приведенном выше сценарии объект MAIN, который будет наблюдать jQuery, является «контейнером».
Тогда вы в основном будете иметь имена элементов в контейнере, такие как ul
, li
и select
:
$(document).ready(function(e) {
$('.container').on( 'click',".select", function(e) {
alert("CLICKED");
});
});
В updateWithKey
, K
не появляется в позиции, где он может автоматически выводиться компилятором, поэтому он считается наиболее допустимым типом, то есть string
.
Но условные типы имеют специальный синтаксис , чтобы сообщить компилятору, что вы хотите, чтобы фактический тип выводился:
type Key<T extends string> = { key: T };
declare function getKey<T extends string>(key: T): Key<T>;
let someKey = getKey('check');
declare function updateWithKey<T>(key: T): T extends Key<infer K> ? K : never;
let someUpdatedKey = updateWithKey(someKey); // let someUpdatedKey: "check"