我从Elixir开始。我了解到Elixir具有弱等式==
和严格等式===
运算符。
从JavaScript背景来看,==
感觉像是一个大错误。 Elixir有什么不同吗?缺少什么吗?我应该何时在Elixir中分别使用弱运算符和强运算符?
到目前为止,我知道,在JavaScript "1" == 1
中产生true
,而在Elixir中则产生false
。这意味着至少保留类型信息。如果是这样,那么弱平等的用途是什么?
答案 0 :(得分:6)
==
和===
之间的区别在于,iex> 1 == 1.0 true iex> 1 === 1.0 false
在比较整数和浮点数时更为严格:→ iex Erlang/OTP 21 [erts-10.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe] Interactive Elixir (1.6.6) - press Ctrl+C to exit (type h() ENTER for help) iex(1)> "bro" == "bro" true iex(2)> "bro" === "bro" true iex(3)> 1 == 1 true iex(4)> 1.0 == 1.0 true iex(5)> 1 == 1.0 true iex(6)> 1 === 1.0 false
否则,它们几乎是相同的:
$(function() {
var params = {
// Request parameters
};
$.ajax({
url: "https://demo-api.com/",
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{API KEY}");
},
type: "GET",
// Request body
data: "{body}",
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});