问题标签 [weak-typing]

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 投票
3 回答
177 浏览

sql - 允许查询构建的数据层

我需要提供一个小型应用程序,允许客户端针对其本地数据库创建查询(或“规则”)并触发某些操作(发送邮件、短信和其他内容)。

由于他们将被允许为这项工作陈述实际的 SQL,我想知道我的数据层应该是什么样子。似乎我不需要实体和存储库,因为所有数据交互都是弱类型的。

那么我的数据层应该做什么呢?打开连接,接受输入的SQL,返回属性包列表?我什至需要一个数据层吗?

[更新]

这是客户希望在他的应用程序中拥有的,能够针对他们的数据库编写或构建查询。它将在他们的本地计算机上运行,​​这意味着恶意员工不需要 SQL 注入攻击。

但是即使我有一个可视化控件来构建查询、验证和清理它,这一层的最终结果是 SQL 代码,不是吗?如果我想测试它,我该如何抽象它?

0 投票
2 回答
1174 浏览

perl - Try::Tiny:try-catch 的奇怪行为与否?

我正在使用Try::Tinytry-catch。

代码如下:

...

当我执行它是这样的:

输出序列在我看来是错误的。这是错的吗?还是这是正常行为?

0 投票
4 回答
4139 浏览

perl - 在 perl 中使用嵌套映射是一种好习惯吗?

像这样使用map是一种好习惯吗?为什么不?如果没有,还有什么其他方法?

0 投票
1 回答
1163 浏览

java - 弱类型,自动装箱,扩大转换之间有什么区别?

似乎弱类型的定义(不要与动态类型混淆)是当两个值都是不同类型时,二元运算符可以工作。

Python 程序员认为 Python 是强类型的,因为它1+"hello"会失败而不是默默地做其他事情。相反,通常被认为是弱类型的其他语言(例如 PHP、JavaScript、Perl)会静默地转换一个或两个操作数。例如,在 JavaScript 中是1+"hello"-> "1hello",而在 Perl 中是1+"hello"-> 1,但是1+"5"-> 6

现在,我的印象是 Java 被认为是一种强类型语言,但自动(取消)装箱和扩大转换似乎与此相矛盾。例如,1+new Integer(1)-> 2hello+"1"-> "hello1"'A'+1->66和 long 可以自动转换为 float,即使它通常会被截断。Java是弱类型的吗?弱类型、自动装箱和扩大转换之间有什么区别?

0 投票
1 回答
1427 浏览

php - PHP中的类型提示返回值/函数

我做了一些研究,发现了这个 RFC,它讨论了 PHP 中函数的类型提示: https ://wiki.php.net/rfc/returntypehint2

例如

将是有效的 PHP 代码。例如,在这种情况下,返回一个数组会产生错误。有谁知道 RFC 的状态,或者它是否被删除/添加?我似乎无法使上面的这个功能起作用。我正在使用 PHP 5.5.9。

0 投票
2 回答
66 浏览

php - PHP 字符串的布尔值

我试图了解 PHP 中字符串的真实性。我认为它可能像其他脚本语言,如 Javascript 或 Python。

好吧,有道理。

然后我尝试了

真的吗?这很奇怪。我猜 PHP 会首先尝试将字符串解析为数字。所以这也应该是false

啊?!?我真的很困惑,想知道是什么让字符串真实或不真实。

到目前为止,我还没有找到任何东西。

0 投票
2 回答
156 浏览

java - Java - 为什么我不能部分输入变量?

为什么在使用现有变量键入新变量时会键入全部或不键入?

例如,假设我有一个data类型为的变量List<Map<String, ArrayList<String>>>,我想将其值传递给tempData. 为什么在决定tempData我的类型时仅限于ListList<Map<String, ArrayList<String>>>

如果我只想与某个“关卡”互动data,比如说Map关卡,我怎么跳到那里?例如为什么我不能List<Map> tempData = data

我已经搜索了我的教科书和这个网站,但我找不到任何解释为什么会这样的地方。如果我们被允许“部分输入”,是否会出现问题?

我知道我可以tempData一开始就使用强类型,但我很好奇为什么 Java 有一种全有或全无的方法。

0 投票
1 回答
55 浏览

php - PHP 中没有意义的字符串

我正在试验 PHP 的弱/动态类型属性以准备测试,并且完全被这个字符串连接的输出所迷惑。有人可以解释这是怎么可能的吗?

输出:

2

0 投票
4 回答
1785 浏览

types - 常量 1 截断为整数?

为什么这段代码不能编译?

是说1被截断了?或者那个 1 不能被截断?它在说哪个1?

有人回答上面的代码无法编译,因为bfloat64. 但是为什么会这样编译:

? b是 a float64here,但可以传递给f.

0 投票
5 回答
21559 浏览

c++ - C++ 被认为是弱类型的吗?为什么?

我一直认为 C++ 是最强类型的语言之一。
所以我很震惊地看到这篇论文的表 3表明 C++ 是弱类型的。

显然,

C 和 C++ 被认为是弱类型,因为由于类型转换,人们可以将结构的一个整数字段解释为指针。

类型转换的存在是否重要?这种演员表的明确性无关紧要吗?

更一般地说,C++ 是弱类型的真的被普遍接受吗?为什么?