⚖️
Function型の変数同士の比較
この記事は記録のため残します。
describe("Function型の比較", function () {
it("比較1", function () {
var f, g;
f = g = function () {
return;
};
expect(f === g).toEqual(true);
});
it("比較2", function () {
var f, g;
f = function () {
return;
};
g = function () {
return;
};
expect(f === g).toEqual(false);
});
it("比較3", () => {
var f, g, h, i;
f = function () {
return "A";
};
g = function () {
return "B";
};
h = function () {
return "B";
};
i = function () {
return "b";
};
expect(String(f) === String(g)).toEqual(false);
expect(String(g) === String(h)).toEqual(true);
expect(String(h) === String(i)).toEqual(false);
});
});
全て通るテストです。Function型の比較がString()
を使うだけで済むなんてちょっと驚きました。
141112追記: ただし.bind()
した関数は[native code]
扱いになるようで、この方法は使えないようです。
Discussion