首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >立即函数使用JavaScript ES6箭头函数

立即函数使用JavaScript ES6箭头函数
EN

Stack Overflow用户
提问于 2014-03-03 12:12:29
回答 3查看 16.7K关注 0票数 47

有人知道如何使用ES6箭头语法编写立即函数吗?

下面是ES3/5的方法:

代码语言:javascript
复制
(function () {
   //...
}());

我尝试了下面的方法,但是在最后一行得到了一个unexpected token错误。

代码语言:javascript
复制
(() => {
  //...
}());

你可以在这里测试一下:http://www.es6fiddle.net/hsb8bgu4/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-03 12:20:16

Arrow functions examples

代码语言:javascript
复制
(() => "foobar")() // returns "foobar" 

因此,函数调用操作符应该在外部。

代码语言:javascript
复制
(() => {
  //...
})();

示例:http://www.es6fiddle.net/hsb8s1sj/

票数 74
EN

Stack Overflow用户

发布于 2016-12-02 18:53:17

这里是我的演示代码!

始终记住function_name+() === function_caller

代码语言:javascript
复制
/* ES5 */

// normal function

function abc(){
    console.log(`Hello, ES5's function!`);
}
abc();

var abc = function xyz(){
    console.log(`Hello, ES5's function!`);
};
abc();

// named function

var abc = function xyz(){
    console.log(`Hello, ES5's function!`);
}();


// anonymous function
// 1
(function(){
    console.log(`Hello, ES5's IIFE!`);
})();

// 2
(function(){
    console.log(`Hello, ES5's IIFE!`);
}());

// 3

var abc = function(){
    console.log(`Hello, ES5's function!`);
}();


/* ES6 */

// named arrow function
const xyz = () => {
    console.log(`Hello, ES6's Arrow Function!`);
};
xyz();


const xyz = (() => {
    console.log(`Hello, ES6's Arrow Function!`);
})();


// Uncaught SyntaxError: Unexpected token (

/*
const xyz = (() => {
    console.log(`Hello, ES6's Arrow Function!`);
}());
*/

// anonymous arrow function
(() => {
    console.log(`Hello, ES6's Arrow Function!`);
})();

Immediately-invoked function expression

代码语言:javascript
复制
let x;

(x = () => {
  console.log(`ES6 ${typeof(x)}`);
})();

// ES6 function

// OR

(() => {
  console.log(`ES6 ${typeof(Symbol)}`);
})();

// ES6 function

票数 11
EN

Stack Overflow用户

发布于 2022-02-07 12:34:50

这里有一个简单的例子。

要定义箭头函数:

代码语言:javascript
复制
const temp = (x)=> {return x+" world";}

// call it as a function
temp("hello") // output: hello world

要立即调用箭头函数,请执行以下操作:

代码语言:javascript
复制
const temp = ((x)=> {return x+" world";})("hello")

// use it as a variable:
console.log(temp); // output: hello world

// a self-invoking function without params:
const temp = (()=> {return "world";})()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22138550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档