Javascript 从库中销毁导入的对象

Javascript 从库中销毁导入的对象,javascript,ecmascript-6,lodash,Javascript,Ecmascript 6,Lodash,我试图在我的代码中使用对象销毁导入 我只想在我的组件中导入映射和扩展 我会怎么做 import { map, extend } from lodash; 如何在代码中使用它 Javascript也有一个映射,所以如果我这样做 let arr = [1,3,4]; arr.map((item) => console.log(item)) 我如何参考lodash地图,而不是实际的地图方法 PS:我在试图理解物体破坏的方法。我知道我可以使用ES6 map,这只是一个例子。这是一个默认导入

我试图在我的代码中使用对象销毁导入

我只想在我的组件中导入映射和扩展

我会怎么做

import { map, extend } from lodash;
如何在代码中使用它

Javascript也有一个映射,所以如果我这样做

let arr = [1,3,4];
arr.map((item) =>  console.log(item))
我如何参考lodash地图,而不是实际的地图方法


PS:我在试图理解物体破坏的方法。我知道我可以使用ES6 map,这只是一个例子。

这是一个默认导入

import _ from 'lodash';
_.map(...);
import { map } from 'lodash';
map(...);
这是一个名为导入的

import _ from 'lodash';
_.map(...);
import { map } from 'lodash';
map(...);
使用
map()
作为默认导入的方法和作为独立函数本质上是相同的(唯一有意义的区别是。哪种语法有效取决于要导入的库。如果库定义了默认导出,并且为命名导入/导出定义了默认导出,则只能使用默认导入。两者也可以同时使用,尽管这有点不寻常

默认导入可以根据您的意愿命名。如果您想混淆人们并假装Lodash是jQuery,您可以这样做

`import $ from 'lodash';`
另一方面,命名导入具有绑定到的特定名称。因此,与默认导入不同,尝试在
$
vs
\
上使用命名导入语法会引用一个完全不同的对象,如果没有在库中定义为导出,将抛出该对象

// These are very different.
import { $ } from 'lodash';
import { _ } from 'lodash';
如果有必要,可以“重命名”命名导入

import { map as crazyFunc } from 'lodash';
在上面的例子中,
crazyFunc
可以被命名为任何你想要的名字,但是
map
必须保持原样,否则它将引用一个完全不同的对象,如果没有定义为库中的导出,它将抛出

这可能有助于理解这些是等效的

import { default as _ } from 'lodash';
import _ from 'lib';
后者只是前者的糖。默认的导出语法是sugar,用于创建名为
default
的命名导出

有关更多信息(包括此处未介绍的功能),请参阅

完整示例:

import { map } from 'lodash';
const squares = map([4, 8], (n) => {
    return n * n;
});
console.log(squares);  // => [16, 64]

这是默认导入

import _ from 'lodash';
_.map(...);
import { map } from 'lodash';
map(...);
这是一个名为导入的

import _ from 'lodash';
_.map(...);
import { map } from 'lodash';
map(...);
使用
map()
作为默认导入的方法和作为独立函数本质上是相同的(唯一有意义的区别是。哪种语法有效取决于要导入的库。如果库定义了默认导出,并且为命名导入/导出定义了默认导出,则只能使用默认导入。两者也可以同时使用,尽管这有点不寻常

默认导入可以根据您的意愿命名。如果您想混淆人们并假装Lodash是jQuery,您可以这样做

`import $ from 'lodash';`
另一方面,命名导入具有绑定到的特定名称。因此,与默认导入不同,尝试在
$
vs
\
上使用命名导入语法会引用一个完全不同的对象,如果没有在库中定义为导出,将抛出该对象

// These are very different.
import { $ } from 'lodash';
import { _ } from 'lodash';
如果有必要,可以“重命名”命名导入

import { map as crazyFunc } from 'lodash';
在上面的例子中,
crazyFunc
可以被命名为任何你想要的名字,但是
map
必须保持原样,否则它将引用一个完全不同的对象,如果没有定义为库中的导出,它将抛出

这可能有助于理解这些是等效的

import { default as _ } from 'lodash';
import _ from 'lib';
后者只是前者的糖。默认的导出语法是sugar,用于创建名为
default
的命名导出

有关更多信息(包括此处未介绍的功能),请参阅

完整示例:

import { map } from 'lodash';
const squares = map([4, 8], (n) => {
    return n * n;
});
console.log(squares);  // => [16, 64]

map(yourfunc).bind([1,2,3,4]);导入语法不是解构。它正在创建别名,不再创建.map(yourfunc).bind([1,2,3,4]);导入语法不是解构。它正在创建别名,不再是了。