美文网首页
ES6学习笔记(ES6标准入门)----- 语法三

ES6学习笔记(ES6标准入门)----- 语法三

作者: Captain_tu | 来源:发表于2017-09-12 10:04 被阅读13次

函数的扩展

  1. 参数默认值

function func1(x, y = 123) { }
/*******************************/
var x = 2;
function func2(x, f = function() { x = 3; }) {
        var x = 10;
        f();
        return x;
}
  1. rest参数

rest参数搭配的变量是一个数组, 该变量将多余的参数放入数组中。

function push(array, ...items) {
        items.forEach(function(item) {
                array.push(item);
                console.log(item);
        });
} 
var a = [];
push(a, 1, 2, 3)
  1. 扩展运算符

扩展运算符( spread) 是三个点( ...) 。 它好比rest参数的逆运算, 将一个数组转为用逗号分隔的参数序列。

function add(x, y) {
        return x + y;
} 
var numbers = [4, 38];
add(...numbers) // 42
/*****************************************/
// ES5的写法
Math.max.apply(null, [14, 3, 77])
// ES6的写法
Math.max(...[14, 3, 77])
// 等同于
Math.max(14, 3, 77);
/***************************/
list = [1, 2, 3, 4, 5];
[a, ...rest] = list;
//a = 1, rest = [2, 3, 4, 5]
/***************************/
[...'hello']
// [ "h", "e", "l", "l", "o" ]
/*************************************************/
let map = new Map([
        [1, 'one'],
        [2, 'two'],
        [3, 'three'],
]);
let arr = [...map.keys()]; // [1, 2, 3]

相关文章

网友评论

      本文标题:ES6学习笔记(ES6标准入门)----- 语法三

      本文链接:https://www.haomeiwen.com/subject/lfpfottx.html