确定与代码块比较的大写和小写

Determining UpperCase and LowerCase comparing to code block

我正在尝试根据驼峰式命名约定向文档对象添加速记。例如,以下代码将在 document 后附加 qS ,它是 querySelector 的简写, aELaddEventListener[=24= 的简写]

let b, d, e; 
for(let k in(d=document)) d[k[0]+k.split("").filter(_=>_<{}).join("")] = d[k];

e=_=>d.qS(_);
b=_=>d.aEL.bind(_);

我将 d 声明为 document 然后遍历它的每个键,确定驼峰字母(k[0] 是第一个小写字母然后我过滤键以找到任何大写字母),然后将第一个小写字母和任何大写字母应用为引用原始方法的 document 上的新方法 - 因此 document.querySelector 变为 d.qS

在某些时候,我学会了将字符与大括号进行比较以确定其大小写的技巧。 a.e。

"c"<{}; //false
"C"<{}; //true

"E"<{}; //true
"e"<{}; //false

问题是我不明白它是如何工作的,尽管它似乎一直都工作得很好。我不确定将什么代码块评估为比较,并且很难Google,甚至在筛选 codegolf 之后我还没有找到答案。我希望有人能解释一下?

注意:我知道代码解释不受欢迎,但我确实检查了元数据以确定这是否有效 https://meta.stackexchange.com/questions/188079/where-to-ask-for-code-explanation

如果您选中 alert({}),那么它将显示 [object Object]。在这里,您的比较将作为字符串比较进行。所以大写字母 A-Z 的 ASCII 值是 65-90。 “[”的 ASCII 值为 91,小写字母 a-z 的 ASCII 值为 97-122。因此,根据大写字母的 ASCII 值,您的代码 returns 为真,小写字母为假。