首页 > 其他分享 >ECMAScript 6 es6介绍

ECMAScript 6 es6介绍

时间:2024-01-24 23:56:16浏览次数:35  
标签:function es6 return 函数 介绍 箭头 ECMAScript var num1

es6介绍:

  阮一峰 https://es6.ruanyifeng.com/

基本用法

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

var f = v => v;

// 等同于
var f = function (v) {
  return v;
};

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

var f = () => 5;
// 等同于
var f = function () { return 5 };

var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
  return num1 + num2;
};

如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return语句返回。

var sum = (num1, num2) => { return num1 + num2; }

由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。

// 报错
let getTempItem = id => { id: id, name: "Temp" };

// 不报错
let getTempItem = id => ({ id: id, name: "Temp" });

下面是一种特殊情况,虽然可以运行,但会得到错误的结果。

let foo = () => { a: 1 };
foo() // undefined

上面代码中,原始意图是返回一个对象{ a: 1 },但是由于引擎认为大括号是代码块,所以执行了一行语句a: 1。这时,a可以被解释为语句的标签,因此实际执行的语句是1;,然后函数就结束了,没有返回值。

如果箭头函数只有一行语句,且不需要返回值,可以采用下面的写法,就不用写大括号了。

let fn = () => void doesNotReturn();

箭头函数可以与变量解构结合使用。

const full = ({ first, last }) => first + ' ' + last;

// 等同于
function full(person) {
  return person.first + ' ' + person.last;
}

箭头函数使得表达更加简洁。

const isEven = n => n % 2 === 0;
const square = n => n * n;

上面代码只用了两行,就定义了两个简单的工具函数。如果不用箭头函数,可能就要占用多行,而且还不如现在这样写醒目。

箭头函数的一个用处是简化回调函数。

// 普通函数写法
[1,2,3].map(function (x) {
  return x * x;
});

// 箭头函数写法
[1,2,3].map(x => x * x);

另一个例子是

// 普通函数写法
var result = values.sort(function (a, b) {
  return a - b;
});

// 箭头函数写法
var result = values.sort((a, b) => a - b);

下面是 rest 参数与箭头函数结合的例子。

const numbers = (...nums) => nums;

numbers(1, 2, 3, 4, 5)
// [1,2,3,4,5]

const headAndTail = (head, ...tail) => [head, tail];

headAndTail(1, 2, 3, 4, 5)
// [1,[2,3,4,5]]

 

标签:function,es6,return,函数,介绍,箭头,ECMAScript,var,num1
From: https://www.cnblogs.com/youxin/p/17986165

相关文章

  • JavaScript ES6中 module , import和export
      假如你想直接在html的script里面使用import,你会遇到以下这两个问题:需要给script标签添加type='module'属性会遇到跨域问题,不单独启用一个服务器无法解决如果不启动一个server,访问js用的协议是file,不在浏览器跨域允许的协议中。因此无法做到拿到js文件,......
  • 关于日本亚马逊METI备案的介绍
    日本亚马逊METI备案注册,怎么办理?日本亚马逊站要求标签亚马逊日本站PSE/METI申述要求的原文1,电气用品制造业申报书或电气用品进口业务申报书的复印件(请出示经济产业省收讫印章及形式的分类表)2,(在额定铭牌上)显示已向经济产业省申报的经营者名称不同的名称(简称)时,作为(经济产业省)比准时......
  • nfs网络文件系统介绍_
    1NFS介绍1.1NFS概念描述 1.2NFS历史介绍1.3NFS在企业中的应用场景 1.4NFS服务挂载结构图解 1.5NFS在企业生产集群架构中的位置 ......
  • jsjiami.v7介绍
    jsjiami.v7介绍jsjiami.v7是一款在线的JavaScript加密工具,它可以对JavaScript代码进行混淆、压缩、加密等操作,提高代码的安全性和运行效率。jsjiami.v7是jsjiami.v6的升级版,它在2023年1月17日发布,支持新版ES语法,破解难度相对于之前的版本高得多[1][1]。jsjiami.v7的优势jsjiami.v7......
  • fMP4流媒体视频格式特点及其应用场景介绍
    近期我们在视频监控管理平台EasyCVR系统中新增了HTTP-FMP4播放协议,今天我们就来聊聊该协议的特点和应用。fMP4(FragmentedMPEG-4)是基于MPEG-4Part12的流媒体格式,是流媒体的一项重要技术,它能通过互联网传送高质量的视频内容。FMP4格式将整个视频文件分割为多个小片段,每个片段包含......
  • 提高爬虫爬取效率的五种方法 海外代理IP介绍
    随着互联网的飞速发展,人们获取数据的方式也在不断更替,如今通过爬虫来获取互联网数据已经成为了主流的数据获取方式。不过目前对于爬虫而言,最核心的问题就是爬取效率。在这个“时间就是生命,效率就是金钱”的时代,爬取效率过低就意味着落后。一般来说,提高爬虫爬取效率的方法主要有以下......
  • 灌区信息化系统介绍(大数据分析为农业决策提供支持)
    智慧灌区平台由数据监测系统、设备控制系统和决策支持系统三部分组成。数据监测系统集成了水位计、流量计等传感设备,实时监测灌区的水文信息,并利用气象站和土壤探测器监测气象、土壤数据。设备控制系统实现了泵站、闸门等设备的远程监控和智能化操作。决策支持系统根据收集的数......
  • 物联网浏览器(IoTBrowser)-简单介绍
    物联网浏览器(IoTBrowser)是用于开发人机界面(HMI)或数据采集与监督控制系统(SCADA)的工具,使用HTML或Vue前端技术开发物联网终端用户界面,支持串口、RFID、电子秤等硬件协议,支持js控制关机、全屏等工控操作。  一、示例功能展示1.窗口界面能力常用的功能界面全屏、设置......
  • [职场] 酒店面试自我介绍
    酒店面试自我介绍1各位评审大家好,能够站在这里参加面试,我感到非常的荣幸。希望通过这次面试能够把自己展示给大家,下面介绍一下我的基本情况。我叫xx,今年xx岁,xx人。大学的生活中,是我思想、知识结构及心理、生长成熟的四年。在大学期间,我自己认真学习专业技能,所以我掌握......
  • Spark介绍
    ApacheSpark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UCBerkeleyAMPlab(加州大学伯克利分校的AMP实验室)所开源的类HadoopMapReduce的通用并行计算框架,Spark拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不......