gpt4 book ai didi

javascript - 为什么使用指数运算符 ** 用法会产生错误?

转载 作者:行者123 更新时间:2023-12-01 02:33:56 43 4
gpt4 key购买 nike

我尝试使用片段运行node.js脚本:

const max = 2 ** 16;

我最终遇到了错误:

const max = 2 ** 8;
^

SyntaxError: Unexpected token *
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:389:7)
at startup (bootstrap_node.js:149:9)

我的意思是node.js应该支持exponent operator (**) ,因为根据Node.js main page :

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

我也知道,有内置的Math.pow()函数,它可以完成这项工作,但是airbnb eslint风格指南recommends使用exponent operator (**) :

Use exponentiation operator ** when calculating exponentiations. eslint: no-restricted-properties.

// bad
const binary = Math.pow(2, 10);

// good
const binary = 2 ** 10;

因此我的意思是,使用求幂运算符**可能是Node.js的系统/安装问题。

<小时/>

如果相关 - 我在 Raspbian 上使用 Node.js v6.11.2 (armv7l)

最佳答案

node.js 从 v6.7 开始支持幂运算符。但它需要 --harmony 标志。从 v7 开始,运算符开箱即用。

http://node.green/#ES2016-features-exponentiation------operator

关于javascript - 为什么使用指数运算符 ** 用法会产生错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48095119/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com