问题标签 [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.
ruby - 关于在 Ruby 中的块中使用块的错误 - 无法将数组强制转换为 Fixnum (TypeError)
这是关于项目欧拉问题#1。当我在 irb 中逐行运行此代码时,我得到了预期的答案,但是当我从 .rb 文件运行它时,它会抛出错误“数组不能被强制转换为 Fixnum (TypeError)”
代码:
错误信息:
我在核心 i7 Windows 7 64 位机器上运行 Ruby 版本 2.0.0p0 (2013-02-24) [x64-mingw32]
actionscript-3 - As3 Flash - 将第三方数据类型 Swf 传递到 Swf 的强制失败错误
我正在制作一个游戏,其中每个屏幕都作为单独的 swf 加载。我正在使用 Greensock 的 LoaderMax 加载 swf,但我认为这不是导致问题的原因。加载 swf 后,我可以设置子 swf 的属性,例如 String 和 MovieClip。但是,我在库路径中有一个第三方库,两个项目的 swc 完全相同。但是,当我尝试传递非系统变量时,它会给出一个错误,基本上是说“强制失败:无法将 ThisType 转换为 ThisType”。如果它们是相同的数据类型,为什么编译器要强制它们?我一定在这里遗漏了一些东西......
错误:
这是(简化的)完整处理程序。当我尝试在 swfs 之间传递 ThisType 类型的 var a_thisTypeVar 时,它会中断:
请帮忙!如何在 swf 之间传递来自第三方库的 var。我应该能够做到这一点,对吧?
javascript - 为什么一些非空字符串在 JavaScript 中评估为“假”?
根据ECMAScript 标准中的这个表,长度为 0 的字符串值应该被评估为布尔值false
。
那么,这些陈述怎么会评估为true
?
所有这些字符串的长度都大于 0。例如:
虽然我知道它的"0"
计算结果是false
因为它可以被强制转换为 numeric 0
,但我无法解释为什么这些字符串是错误的。这是怎么回事?
(显然我可以使用===
严格比较,但在这种情况下,在我的代码中,我需要松散比较,但是我没想到非空字符串会被认为是错误的。)
javascript - 如果我在一个字符串上使用两个否定运算符,我是否使用类型强制?
考虑以下代码:
否定运算符使用抽象操作ToBoolean
来执行类型转换,但我的问题是 - 这是否涉及类型强制?
javascript - Javascript中只有一个数字的if语句
我发现这个函数可以将数字放入分数中,我试图弄清楚一切的含义。有一件事我想不通。
这是代码:
什么if (b)
意思。我知道如果 if 语句中只有变量,它正在检查变量是真还是假。这将如何应用于一个数字?这什么时候会转到 else 语句?
json - 在 Groovy 中将字符串集合强制转换为枚举集合
如果我想从 JSON 解析为我定义为包含枚举集合的域对象,我发现 Groovy 不会自动强制集合的内容,我认为无论如何都不应该期望这种情况,因为泛型是编译时关注。
如果我天真地对解析的 JSON 进行类型强制,我的集合将在运行时包含字符串,这将使集合元素与枚举的比较无论值如何都会失败。
另一种方法是覆盖枚举集合的设置器并对每个元素进行强制转换。这在以下示例中进行了说明。
重写的 setter 方法解决了我的问题,但它似乎有点香草,我想知道 Groovy 是否支持更智能的传播类型强制的方式。
javascript - 带有字符串和索引的 JavaScript 类型强制
在下面的代码片段中,为什么whatDoesItDo()
函数将“失败”作为字符串返回?如果有人可以解释这种行为背后的概念,那将会很有帮助。
javascript - === 在 javascript 中和从 php ajax 文件返回的响应
我使用 jQuery 在 PHP 文件中通过$.post
.
在 PHP 文件中,我有:
一切正常,除非我使用response===true
它不起作用。true
如果评论被删除,我的删除方法会返回。当我alert
回复时,它显示1
;1===true
做假是正常的吗?还是有什么问题?
python - 更改用于“打印”参数类型强制的字符串类型
我怎样才能说服 Python 2print
强制它的论点unicode
?
Python 2 的print
功能,无论是语句还是函数,显然都将其参数强制转换为 bytes 类型str
:
变成print
一个函数没有帮助;无论如何,相同的内部参数处理似乎发生在 Python 2 上:
由于我想用io.StringIO
实例替换标准流(使代码在 Python 2 和 Python 3 下的测试套件中运行),所以上述失败让我死了。
使用io.BytesIO
实例可以在 Python 2 上工作print
,但在 Python 3 上会中断print
。目标是使代码尽可能多地使用 Unicode,因此io.BytesIO
不是一个可接受的解决方案。
我需要每个输出print
都是 Unicode,而不是字节。
如何更改print
用于强制其参数输出的类型,并改用 Unicode 文本类型unicode
?