关于ES6简写的问题

_=>{
    console.log(_)
}

最近看到一个ES6的函数简写,大概理解什么意思,但希望大大们详细说下_的作用

阅读 5.6k
9 个回答

ES6允许使用“箭头”(=>)定义函数。

var f = v => v;

上面的箭头函数等同于:

var f = function(v) {
  return v;
};

如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。

_ 就是一个参数名吧。。。- -

等同于:

(function (_) {
    console.log(_);
});

你可以安装一个Scratch JS的chrome插件,实时编译ES6,它给出的ES5是

"use strict";

(function(_){
    console.log(_);
})

_只是一个参数名,可以取任意有效的参数名,一般会取有实际含义的参数名

看下箭头函数吧,,参数=>{ 函数体 }

下划线是构成变量的一种方式
一般来说加下划线的变量为私有变量,这是常规都比较遵守的一种代码规范。

_就带表的是一个变量的名字
也就是function _(){ console.log(_)} 是这个意思

说到底就是太懒了,偷懒的写法

按照 es6 的写法是

// 如果没有参数必须写括号
() => {...}

// 所以就偷懒,造一个没用的参数
_ => {...}

// 果然比()少写一个字符呢

这个写法呢,我最早是看到 TJ 的某个代码里面就是这样偷懒写的,于是我以后也就这样偷懒写了。

新手上路,请多包涵

这是function() 的简写,但这个简写和 function并不完全一样
它不带 this 也不带 prototype 属性,用new新建会报错
所以并不能完全替代 function的写法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题