我最近在javascript中遇到了const关键字.据我所知,它用于创建不可变变量,我已经测试过以确保它不能重新定义(在node.js中):
const x = 'const';
const x = 'not-const';
// Will give an error: 'constant 'x' has already been defined'
Run Code Online (Sandbox Code Playgroud)
我意识到它还没有在所有浏览器中标准化 - 但我只对node.js/v8的上下文感兴趣,并且我注意到当使用var关键字时,某些开发人员/项目似乎非常喜欢它达到同样的效果.
问题?
何时使用const代替var?
是否应该在每次声明不会重新分配的变量时使用它?
如果使用var代替const,反之亦然,它实际上是否有任何区别?
该.map()
方法的典型用法使用回调,该回调按顺序传递给数组中的每个元素,对该元素执行一些操作,然后为新数组返回相应的元素.例如:
var arr = [1, 2, 3, 4, 5],
arrMap = arr.map(function(element) {
return element * 2;
})
console.log(arrMap) // [2, 4, 6, 8, 10];
Run Code Online (Sandbox Code Playgroud)
我发现在某些情况下,当尝试维护函数编码风格并避免使用循环时,使用该.map()
方法而不必在回调中返回值会很有用.一个.map
用于将两个数组转换为对象的人为例子:
var arr1 = ['one', 'two', 'three', 'four', 'five'],
arr2 = [1, 2, 3, 4, 5],
obj = {},
arr1.map(function(element, index) {
obj[element] = arr2(index);
});
Run Code Online (Sandbox Code Playgroud)
我想知道的是,在Array.prototype.map
没有return
声明的情况下使用是否存在技术上的错误.这是以某种方式反对最佳实践,还是使用.map
此技术代替循环或递归函数是好的.