小编axd*_*xdg的帖子

在JavaScript中的Const?何时使用它是必要的

我最近在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,反之亦然,它实际上是否有任何区别?

javascript const immutability node.js

337
推荐指数
8
解决办法
19万
查看次数

如果Array.prototype.map()没有返回,它是否正确使用

.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此技术代替循环或递归函数是好的.

javascript arrays functional-programming node.js

3
推荐指数
1
解决办法
188
查看次数