如何使用类型脚本创建自执行匿名函数?
例如
(function() {
var someClass = {
}
}.call(this));
我想要构建一个可以适用于 Node.js 的插件,也适用于前端。
/**
* Self executing anonymous function using TS.
*/
(()=> {
// Whatever is here will be executed as soon as the script is loaded.
console.log('executed')
})();
我想要构建一个可以适用于 Node.js 的插件,也适用于前端。
在这种情况下,您应该在 AMD 中编译 TypeScript 并在前端使用 AMD 加载器,例如 http://requirejs.org/docs/start.html
在服务器端,您还需要使用
requirejs
节点包来加载文件。看看这个:http://requirejs.org/docs/node.html
基本上有两种方法将 TS 编译为 JS,使用 AMD(兼容浏览器)或使用 CommonJS(兼容 Node.js)。在浏览器或服务器中加载AMD脚本需要使用AMD兼容的加载器,*requirejs**就是其中之一。 (我想说的是最著名/最常用的)
TypeScript 中的第一条规则:任何有效的 JavaScript 都是有效的 TypeScript。
不,目前还没有特殊的方法可以在 TS 中编写自执行匿名函数。
但是,下面是一些可能对您的情况有用的代码。
TS 中的每个类都被编译为(命名的)自执行匿名函数,该函数返回一个函数。
示例:
//ts
class someClass {
someProperty = "this is a property";
}
翻译为
//js
var someClass = (function () {
function someClass() {
this.someProperty = "this is a property";
}
return someClass;
})();
希望这对您有所帮助。
Typescript 中的自动执行、立即、递归顶级 React 函数:
(function handleAutomatonTypeChange(newtype: AutomatonType) {
ReactDOM.render(
<Automaton automatonType={newtype}
onAutomatonTypeChange={handleAutomatonTypeChange} />,
document.getElementById('automaton')
);
})('diadic');
let sum=(function (a:number, b:number){
return a+b;
})
console.log(sum(10,5));
(function(){
document.body.innerHTML = "Self Calling Function";
}.call(this));