箭头函数:
import * as types from '../constants/ActionTypes'
function addTodo(text) {
return {
type: ADD_TODO,
text
}
}
export const addTodo = text => ({ type: types.ADD_TODO, text })
# or export const addTodo = text => ({type: types.ADD_TODO, text:text})
export const editTodo = (id, text) => ({ type: types.EDIT_TODO, id, text })
export const completeAllTodos = () => ({ type: types.COMPLETE_ALL_TODOS })
注:可以加分号,最好不要加分号,简单好看
双箭头函数:
let getters = {
total: (state) => (symbol) => {
return (symbol || '$') + state.count;
}
}
相当于:
let getters = {
total: function(state) {
return function(symbol) => {
return (symbol || '$') + state.count;
}
}
}
JavaScript前面三个点的作用:
扩展运算符
const numbers1 = [1, 2, 3, 4, 5];
const numbers2 = [ ...numbers1, 1, 2, 6,7,8]; // this will be [1, 2, 3, 4, 5, 1, 2, 6, 7, 8]
const numbers3 = [numbers1]
效果的区别是:
numbers3 相当于: numbers3 = [[1,2,3,4,5]]
可以把它想象成Array.prototype.concat的替代品.
相当于一个是包含空间部分,一个是一个整体,一个是相当于传入很多数据 针对的是可迭代的数据,可重复的数据,多重数据
多个括号连续
f()执行f函数,返回子函数
f()()执行到子函数,返回孙函数
f()()()执行到孙函数,返回重孙函数
var i=1;
function f(){
i++;
console.log("打印 : "+i)
return k;
function k() {
return "I love you!"
}
}
f();
console.log("111111111111")
f()()
alert(f()());
rest剩余参数(rest parameter)
剩余参数(rest parameter)语法允许我们将一个不定数量的参数表示为一个数组,