Javascript 什么';“这就是”的意思&引用;在7.2.14中,ecmascript规范的抽象等式比较

Javascript 什么';“这就是”的意思&引用;在7.2.14中,ecmascript规范的抽象等式比较,javascript,ecmascript-6,Javascript,Ecmascript 6,我有点困惑,在抽象平等比较部分,如下所示: 比较x==y,其中x和y是值,生成true或false。这样的比较如下所示: 如果类型(x)与类型(y)相同,则 返回执行严格相等比较的结果x==y 如果x为null而y未定义,则返回true 如果x未定义且y为null,则返回true 如果Type(x)是Number,Type(y)是String,则返回比较结果x==!t编号(y) 如果类型(x)是字符串,类型(y)是数字,则返回比较结果!t数字(x)==y 如果类型(x)为布尔值,则返回比较结果!

我有点困惑,在抽象平等比较部分,如下所示:

比较x==y,其中x和y是值,生成true或false。这样的比较如下所示:

  • 如果类型(x)与类型(y)相同,则 返回执行严格相等比较的结果x==y
  • 如果x为null而y未定义,则返回true
  • 如果x未定义且y为null,则返回true
  • 如果Type(x)是Number,Type(y)是String,则返回比较结果x==!t编号(y)
  • 如果类型(x)是字符串,类型(y)是数字,则返回比较结果!t数字(x)==y
  • 如果类型(x)为布尔值,则返回比较结果!t数字(x)==y
  • 如果类型(y)为布尔值,则返回比较结果x==!t编号(y)
  • “!”是什么意思为了!t编号(x)!t编号(y)


    有人能帮我吗?谢谢

    定义见第节

    同样,前缀
    用于指示以下对抽象或语法定向操作的调用将永远不会返回,并且应使用生成的
    [[Value]]]
    字段代替操作的返回值。例如,步骤:

    1. Let val be ! OperationName(). 
    
    相当于以下步骤:

    1. Let val be OperationName().
    2. Assert: val is never an abrupt completion.
    3. If val is a Completion Record, set val to val.[[Value]]. 
    

    突然完成记录用于传播错误,因此基本上这意味着这些过程不会抛出错误,并且完成记录应该“展开”以使用它封装的实际值

    谢谢你的重播,非常感谢