以下函数为每次调用返回一个新的匿名函数。
public example() {
return (): string => {
return 'hello world';
};
}
let a = example();
let b = example();
console.log(a === b);
以上将打印false
是否可以重新使用相同的匿名函数,而不必将其指定为this
的属性。这样功能就被隔离了。
答案 0 :(得分:3)
使用IIFE可以使example
成为关闭要返回的函数的函数:
let example = (() => {
let _priv = () => "hello world";
return function(){ return _priv; };
})();
let a = example();
let b = example();
console.log(a === b);

这是私有变量的方法之一(如果不是方法),之前有类似于使用打字稿的静态检查和private
的替代方法。
答案 1 :(得分:0)
import * as deepEqual from "deep-equal";
尝试使用:console.log(deepEqual(a, b);