BigDecimal 在 GWT 编译的 JavaScript 中是如何表示的

How is BigDecimal represented in the JavaScript compiled by GWT

在 GWT 中,可以在客户端代码中使用 java.math.BigDecimal。这些 BigDecimals 在编译后的结果 JavaScript 代码中是如何表示的?是否有一些额外的 class 或者他们使用原生 JavaScript 对象?

BigDecimal 在它们的字符串表示中被序列化。来自BigDecimal_CustomFieldSerializer,

的源码
public static void serialize(SerializationStreamWriter streamWriter,
  BigDecimal instance) throws SerializationException {
    streamWriter.writeString(instance.toString());
}

BigDecimal GWT 编译器没有特殊处理。它是用一堆字段模拟的,针对值在java.lang.Double(相当于JS Number)值范围的情况进行了小优化;但是从JS代码的角度来看,它是一个不透明的Object.

https://github.com/gwtproject/gwt/blob/2.7.0/user/super/com/google/gwt/emul/java/math/BigDecimal.java#L523-L558