应该是标识符,而是看到了“ ...”

时间:2018-12-06 00:47:14

标签: javascript jslint

jslint中出现此错误,我该如何解决这一行?

const {
    width,
    height,
    ...options
} = opts;

完整代码:

https://jsfiddle.net/zt7anuL3/18/

该行所在的代码部分:

function initPlayer(wrapper) {
    const video = wrapper.querySelector(".video");
    let settings = {};
    const {
        width,
        height,
        ...options
    } = opts;
    settings.width = width || 198;
    settings.height = height || 198;
    settings.playerVars = options.playerVars || options;
    videoPlayer.init(video, settings);
}

2 个答案:

答案 0 :(得分:0)

这是因为spread syntax中的JavaScript实际上使用了...。更改为此:

const {
    width,
    height,
    options
} = opts;

您的代码应该可以工作。

编辑:

正如Keith在下面的评论中所说,很可能是您的linter JSLint损坏了。

答案 1 :(得分:0)

const {
        width,
        height,
        ...options
    } = opts;

这将分配3个新的const,宽度为opts的width属性的值,高度为height属性的值,以及带...运算符的选项。 / p>

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

您需要新的剥皮规则以支持结构破坏,因为此语句没有错。