问题标签 [type-coercion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
112 浏览

javascript - Javascript filter() 默认情况下是否执行类型强制?

我知道 Javascript 类型强制(== vs ===)。

我正在查看 filter() 函数。似乎它默认执行类型强制。这个对吗?这是代码:

如果我不希望出现这种情况,是否必须向过滤器函数添加回调?我很惊讶它以目前的形式工作,因为我认为它总是需要一个回调参数。

0 投票
2 回答
178 浏览

office365 - 适用于 Office 365 的应用程序 - 返回带有样式和格式的选定文本

我为 Office365(Word、Excel 和 Powerpoint)创建了一个加载项应用程序,我想在我的应用程序中获取选定的文本,包括新的线条和样式。

我正在使用以下代码来做到这一点

我尝试了所有类型的强制,但没有一个能满足我的实际需要。

例如,我想解析选定的数据,这样我就可以知道新行在哪里。

目前它只返回纯文本,没有格式或样式。

我将不胜感激我的问题。

谢谢!

0 投票
1 回答
78 浏览

javascript - 使用布尔构造函数的类型强制和内部 if 有什么区别

请参考这里的 jsfiddle,https ://jsfiddle.net/reuk08ob/ html: <div id="abc"></div> javascript :

我错过了什么吗?布尔构造函数不应该与 if 语句中隐式执行的类型强制相同吗?

0 投票
0 回答
21 浏览

javascript - JavaScript:类型强制 ({}) + true = "[Object Obejct]true"

所以我一直在研究类型强制,我得到了基础知识,比如:

在控制台中乱搞时,我注意到

我的问题是为什么{}会更改为[Object Object]when in() 而不是在没有添加的true情况下()

0 投票
0 回答
21 浏览

javascript - 为什么这里没有发生类型强制?

我对类型强制的理解是,当操作数具有不同的数据类型时,其中一个将转换为另一个操作数的“等效”值。

0 投票
1 回答
1545 浏览

javascript - 为什么在 JavaScript 中,'3 instanceof Number' == false,但 '3..method()' 会调用 Number.prototype.method?

鉴于文字数字严格来说不是 的实例Number,为什么我可以在相应的文字对象上调用Number(或String,或)对象的原型方法?Boolean这是跨浏览器的标准行为吗?

发生这种情况时究竟发生了什么?我怀疑它在调用方法之前将文字强制转换为相应的类型,因为当我typeof this在方法中检查时,它返回'object'而不是'number'.

0 投票
1 回答
136 浏览

c++ - 沿类层次结构的函数指针强制

考虑下面的代码:

函数指针当然不能按照标准强制,也许没有必要(我们总是可以只返回 a B*),但请幽默。据我所知,没有可能违反 LSP,所以如果可能的话,D*可以使用返回的函数来代替B*以完全不透明的方式返回的函数。

foo模板执行我希望编译器执行的静态类型检查,然后将类型信息抛诸脑后。在这一点上,我知道除非我转换回原始指针类型,否则行为是未定义的(C++11 §5.2.10/6)。

因此,我的问题是:

是否存在与标准无关的实际原因可能导致上述代码失败?或者是否有另一个标准参考,可以缓解上述代码中UB的不愉快?

0 投票
2 回答
62 浏览

casting - D型强制转换:保留位模式,没有值转换

我想将值的类型转换为宽度完全相同的无符号整数,保留确切的位模式。因此,例如 64 位浮点数将被键入为 ulong,但位模式将是相同的。输入类型未指定,但我不需要处理大于通常 D 整数类型之一的输入值,因此没有聚合或内存对象。

  1. 我首先尝试生成一种无符号整数类型,可以就如何正确执行此操作提出建议,因为我应该就处理输入类型的常量性和不变性做出一些决定。

  2. 然后获得了合适的类型,我强制编译器通过执行类似的操作来避免值转换

    ( * cast(const T_uint_result *) & input_val )

在检查了生成的代码之后,这似乎可行,但我对此非常不满意。很多时候直接转换就可以了,但是对于我的目的而言,这通常是不安全的,因为编译器可能会更改位模式。

0 投票
2 回答
80 浏览

f# - Nullable double 的嵌套运行时强制

假设我有一个值定义为一种佣金公式

我想将上述佣金应用于我从数据库中读取的金额(代码来自我在生产中拥有的窗口 WCF 服务)

现在我看到金额行编译得很好,但我还需要在下面包含相同的佣金

这是错误的,因为The type 'float' does not match the type 'obj'

因此我也尝试过

但它也失败了The type 'double' does not have any proper subtypes and cannot be used as the source of a type test or runtime coercion.

处理这个问题的正确方法是什么?

0 投票
2 回答
120 浏览

haskell - 未强制执行函数返回类型

如果有人足够耐心地向我解释以下情况,我将非常感激。在我看来,Haskell 似乎准备好在从函数返回值时执行某种整数类型强制。另一方面,我读到 Haskell 从不隐式转换类型。

如果我输入 GHCi:

GHCI 后来告诉我t = (-1,4294967295)。但是,如果我将本地y类型专门限制为Word32

GHCi 会告诉我的t = (4294967295,4294967295)

我认为如果t's 类型被明确表示为(Integer, Word32),GHCi 将得出结论,y' :: Integer因为y :: Word32函数结果是(y', y). 那么,类型定义y :: Word32就完全没有必要了。

这一切都始于我试图编写一个函数来“安全地”在 Integral 类成员之间进行转换 - 例如 Int -> Word32。该函数旨在在传递时返回Just 11并且Nothing在传递时返回-1

通过 SO 和整个互联网进行的简短搜索并没有为我提供任何解释。