函数简化
第一种写法
1 | render(createElement) { |
这是一个常规的函数声明方式
第二种写法
1 | render: (createElement) => { |
这是一种箭头函数写法。箭头函数通常用于简化代码,并且具有与常规函数不同的 this
绑定方式。在这里,它做的是与第一种写法一样的事情,只不过是用箭头函数来代替常规函数,返回的是同样的结果。
第三种写法
1 | render: createElement => { |
这种写法省略了箭头函数的括号,通常在只有一个参数时可以省略括号。这个写法和第二种写法是等价的,createElement
仍然是箭头函数的参数,只不过省略了括号,方便书写。
第四种写法
1 | render: createElement => createElement("h1", "你好啊"); |
是一种箭头函数的简写形式,当箭头函数只有一个表达式时,可以省略大括号和 return
关键字。这个写法更简洁,实际上它和第二种写法的功能完全相同,只是更简洁。
第五种写法
1 | render: q => q("h1", "你好啊"); |
这仍然是箭头函数的形式,只是将参数名从 createElement
改成了 q
。在 JavaScript 中,函数参数的名称可以任意定义,只要在函数内部使用它就行。所以这个写法也是有效的,并且与其他写法效果相同。
注意事项
1.第一种到第二种的转化:
第一种方法:
是一个普通的方法定义。这里的 render
是一个方法名,createElement
是该方法的参数。在 ES6 中,我们可以直接用这种方式在对象或类中定义方法。因此没有冒号,render
是直接定义的函数。
第二种方法:
在对象字面量中定义方法时,需要使用 key: value
的形式,key
是方法名,value
是函数。在箭头函数的情况下,函数是作为值赋给 render
属性的。所以我们必须使用冒号来连接方法名和箭头函数。
2.当你在 对象字面量 中定义方法
必须用冒号(:
)连接键名和函数。例如,Vue 组件的 render
方法就会写成 render: (createElement) => {}
。而在类或者常规函数中,定义方法时则不需要冒号,直接写函数名即可。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小马Ti的博客!
评论