Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在雄辩的JavaScript中进行奇怪的变量初始化_Javascript_Node.js_Require - Fatal编程技术网

在雄辩的JavaScript中进行奇怪的变量初始化

在雄辩的JavaScript中进行奇怪的变量初始化,javascript,node.js,require,Javascript,Node.js,Require,我开始阅读《顺便说一句》的在线版本,这是一本很好的书。所有示例都使用以下构造来捕获require调用的结果: 如果我尝试在node.js 8.9.3 64位中重现此值,则生成的fs变量未定义。更常见的构造: const fs = require("fs"); 而是返回一个可用的变量 我的问题。我错过了一些明显的东西?也许我得从头开始读这本书。。。。第一个构造提供了哪些好处,而不是更正常的变量定义?谢谢 在ES6中,您可以像这样销毁对象: const obj = {first: 1, secon

我开始阅读《顺便说一句》的在线版本,这是一本很好的书。所有示例都使用以下构造来捕获require调用的结果:

如果我尝试在node.js 8.9.3 64位中重现此值,则生成的fs变量未定义。更常见的构造:

const fs = require("fs");
而是返回一个可用的变量


我的问题。我错过了一些明显的东西?也许我得从头开始读这本书。。。。第一个构造提供了哪些好处,而不是更正常的变量定义?谢谢

在ES6中,您可以像这样销毁对象:

const obj = {first: 1, second: 2};
const {first, second} = obj;

console.log(first,second); // 1 2
类似地,节点的fs有一个成员readFile,其使用方式如下:

const {readFile} = require('fs');

嘿在书中,它不是const{fs}=require'fs';它是const{readFile}=require'fs';这是ES6中引入的对象解构,它有利于第一个构造。该构造称为解构模式。它所做的是,如果一个对象有10个属性,那么导入这个对象并在object.property的每一处使用1个属性会有点混乱。它有很多额外的输入,更重要的是,消费者可以获得比需要更多的内容。此模式仅获取您指定的特定属性。这使开发人员能够保持代码干净,并且代码的每个部分都应该能够访问所需的内容谢谢!我只是想减少击键次数。。。完全失去了榜样的精神。谢谢你的澄清!因此,它在精神上类似于Python的from datetime import datetime,而不是简单的import datetime。这适用于每个对象,并且不仅仅需要,所以,可能这有所不同。是的,它更通用。我只是比较一下const fs=requirefs;然后是fs.readFile。。。to const{readFile}=require'fs';然后读取文件。。。。我已经习惯了旧的js,并且经常忘记ES6奇妙的添加,但我正在改进…是的,在这方面,它们是相似的
const {readFile} = require('fs');