JavaScript中10 ** _decimals报Unexpected token *错误,求排查
问题原因与解决方案
你的报错SyntaxError: Unexpected token *是因为幂运算符**是ES2016(ES7)才引入的新语法,如果你的JavaScript运行环境(比如旧版本的Node.js、老浏览器)不支持ES7及以上的语法标准,就会识别不了这个运算符,从而抛出语法错误。
解决办法有两个:
- 方案一:使用兼容性更好的
Math.pow()方法替代
把10 ** _decimals换成Math.pow(10, _decimals),这是ES3就支持的原生方法,几乎所有JS环境都能兼容:
额外提醒:给let dec = Math.pow(10, _decimals); let value = parseInt(req.body.burn_value, 10) * dec;parseInt加上第二个参数10指定十进制,可以避免某些特殊情况下的意外解析问题。 - 方案二:升级你的JS运行环境
如果想继续使用**运算符,需要确保你的运行环境支持ES7。比如Node.js需要升级到6.5.0及以上版本,浏览器则需要使用Chrome 52+、Firefox 50+这类较新的版本。
内容的提问来源于stack exchange,提问作者Itération 122442
相关产品推荐
相关产品推荐

