Тут как раз все понятно любому англоговорящему. По смыслу переводится как "любой из", другие варианты используются в частных случаях ("either of two will be bad" – дословно "любой из двух будет плох", по-русски скорее напишут что-то вроде "оба плохи").
Возможно. У меня сложилось впечатление, что слово either не имеет строгого аналога в русском языке
Наоборот же: смысл в том, чтобы из указанных ключей только один был представлен в объекте (при этом второй становится нежелательным). Поэтому, когда указывается всего один ключ, то конструкция не имеется смысла, она просто оставляет тип как есть.
Все так. Однако есть некоторая закономерность, на примере того же клика: если click вызван искусственно (через dispatchEvent), то target эвента всегда равен currentTarget (иными словами, если эвент вызван window.dispatchEvent(...), то егоtarget - это всегда объект Window, если new EventTarget().dispatchEvent(...) , то target - это всегда EventTarget, и так далее). Если же он вызван нативно (кликом пользователя), то в иерархии наследования типов target будет как минимум объектом, наследованным отElement ( HTMLElement, SVGElement и тому подобное).
При чем искусственно вызванноеnew MouseEvent('click') на голом EventTarget никогда не всплывет ни до Window , ни до какого другого элемента (что логично и не требует объяснений). А вот оно же вызванное на Node, добавленной в document, уже может. Таким образом мы имеет, что в прослушиватель события пользовательского интерфейса, вызванного на каком-либо элементе, прилетит target, унаследованный как минимум от Node. Вызванного на Window - это Window либо [объект,] унаследованный как минимум от Node, в Document - это Document либо [объект,] унаследованный как минимум от Node. На мой взгляд, понимание этого может сделать код более типобезопасным.
PS: поправьте меня, если в моих рассуждениях есть какая-то червоточина
Возможно. У меня сложилось впечатление, что слово
either
не имеет строгого аналога в русском языкеВы, кажется, правы. Тогда пазл сходится
Все так (спасибо). Пофиксил
Я бы сказал, больше напоминает svelte. Как говорится, найдите пять отличий))
Svelte:
Angular:
Мне одному показалось, словно один в один скопировали синтаксис шаблонов svelte (разве что
#each
на#for
заменили)?Все так. Однако есть некоторая закономерность, на примере того же клика: если
click
вызван искусственно (черезdispatchEvent
), тоtarget
эвента всегда равенcurrentTarget
(иными словами, если эвент вызванwindow.dispatchEvent(...)
, то егоtarget
- это всегда объектWindow
, еслиnew EventTarget().dispatchEvent(...)
, тоtarget
- это всегдаEventTarget
, и так далее). Если же он вызван нативно (кликом пользователя), то в иерархии наследования типовtarget
будет как минимум объектом, наследованным отElement
(HTMLElement
,SVGElement
и тому подобное).При чем искусственно вызванное
new MouseEvent('click')
на голомEventTarget
никогда не всплывет ни доWindow
, ни до какого другого элемента (что логично и не требует объяснений). А вот оно же вызванное наNode
, добавленной вdocument
, уже может. Таким образом мы имеет, что в прослушиватель события пользовательского интерфейса, вызванного на каком-либо элементе, прилетитtarget
, унаследованный как минимум отNode
. Вызванного наWindow
- этоWindow
либо [объект,] унаследованный как минимум отNode
, вDocument
- этоDocument
либо [объект,] унаследованный как минимум отNode
. На мой взгляд, понимание этого может сделать код более типобезопасным.PS: поправьте меня, если в моих рассуждениях есть какая-то червоточина
К сожалению, все так же
https://coding-style.ru/relevance/Java?length=12#c#
https://coding-style.ru/relevance/Java?length=12#c#
Так отладочная сборка и должна больше весить