Articles of 严格

在更新Node.js包之后,在Google应用的Actions上严格模式错误中使用const?

我有一个Node.JS(版本8.6)的Google Home应用程序,它使用Google Javascript客户端库上的Actions。 现在已经build成并运行好几天了。 我在项目中添加了一些软件包,并且突然间,我开始在Actions on Google Javascript客户端库中发现以下致命错误,尽pipe该库中的代码没有被触及: /** * The Actions on Google client library. * https://developers.google.com/actions/ */ 'use strict'; const AssistantApp = require('./assistant-app'); ^^^^^ SyntaxError: Use of const in strict mode. at Module._compile (module.js:439:25) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/home/roschler/Documents/GitHub/YourMD/google-assistant/morse-integration/routes/fulfillment.js:16:21) at […]

全局variables作用域在Node.js控制台中无法识别

所以在浏览器(铬),如果我在js控制台运行这个代码,函数调用foo(); 打印到控制台的数字2.但是,如果我在node.js中运行它,函数调用foo()打印未定义 。 这是为什么? 节点是否以“严格模式”自动运行代码? function foo() { console.log(this.a); } var a = 2; foo();

节点JS避免辛苦地添加“使用严格”到我的所有文件

所以我想为我的项目启用严格的模式,但是我有很多的文件,join了"use strict"; 到他们所有的顶部将是一个痛苦。 我发现了–use_strict CLI选项是非常棒的节点,但是对于我的项目目录中的每个文件(包括所有第三方模块及其模块)都是可用的,我真的不想纠正每个人的文件,只是我的。 所以我的问题是,有没有一种方法可以自动将“严格使用”添加到我的文件?

JavaScript和分号

'use strict' [1,2,3,4].find(x => x > 1) 当使用nodejs 5.0.0执行上述代码时,会出现以下错误: TypeError: "use strict"[(((1 , 2) , 3) , 4)].find is not a function at Object.<anonymous> (C:\src\nodejs\ecma6.js:2:11) at Module._compile (module.js:425:26) at Object.Module._extensions..js (module.js:432:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:311:12) at Function.Module.runMain (module.js:457:10) at startup (node.js:136:18) at node.js:972:3 如果在“严格使用”之后添加分号,则错误消失。 这看起来像一个bug …还是有什么更深层次的 – 意味着在语言规范中是否有一个例外情况的列表,其中需要分号。 更新 语言规范确实列出了需要明确分号的例外情况。

Node.js和eslint不同意“严格使用”

ESLint告诉我,我不需要在我的index.js文件的顶部"use strict" (这是一个简单的服务器,就像https://nodejs.org/en/about/上的一个简单的服务器)。 显然,所有节点模块已经处于严格模式。 说得通。 但是,运行node index.js得到了一个“SyntaxError:[let]不支持严格模式外”。 与“冗余” "use strict"杂注运行。 为什么不一致? 不应该知道这个节点模块默认严格吗? 这可能是由于一些简单的节点错误configuration,ESLint或我的IDE?

NodeJS严格模式

在NodeJS中使用"use strict"使用"use strict"有什么好处吗? 例如,一个全局对象不是一个好主意,因为所有的请求都会改变这个对象(当然,假设这个对象对每个用户来说都是唯一的)。 在这种情况下,使用严格的模式将是一个好主意,不是吗? 我觉得严格模式是一个与Node配对的好主意,但我一直没有能够通过谷歌find任何优点或缺点。 免责声明:我知道use strict做什么use strict ,这个问题是关注服务器端优点/缺点!

使用'thisArg'和'use strict'的Nodejs方法; 问题

我在Fedora 19上安装了v0.10.28节点和V8 v3.14.5.9。我遇到的问题是具有thisArg可选参数的方法,比如Array.prototype.forEach 。 如果我在Chromium v​​33或Firefox v28上执行以下代码 – jsFiddle var y = [1, 2, 3]; y.forEach(function (element) { console.log(this); }, 'hej'); 我得到了一个输出 String {0: "h", 1: "e", 2: "j", length: 3} String {0: "h", 1: "e", 2: "j", length: 3} String {0: "h", 1: "e", 2: "j", length: 3} 然后相同的代码,但在严格的模式 – jsFiddle var y = […]

使用节点,为什么代码用“严格使用”这么快?

我从来不知道use strict来加速运行时间,但简单的use strict使得我的基准testing速度大大加快,而较慢的testing速度明显较慢(超过两倍)。 这是怎么回事? // // RUN WITH AND WITHOUT THIS // "use strict"; var assert = require('assert'); var slice = [].slice; function thunkify_fast(fn){ assert('function' == typeof fn, 'function required'); return function(){ var args = new Array(arguments.length); for(var i = 0; i < args.length; ++i) { args[i] = arguments[i]; } var ctx = this; return […]