JS提示-^'简明方法'在ES6中可用

JSHint - ^ 'concise methods' is available in ES6

本文关键字:ES6 方法 提示 JS      更新时间:2023-09-26

我正在尝试使用AJAX提交一个简单的表单。我使用grunt作为任务运行程序来编译我的JS文件等等。

这是我到现在为止所做的。

$("form").submit(function(event) {
    event.preventDefault();
    var formData = {
        $("#username").val(),
        $("#password").val()
    };
    $.ajax({
        url: 'xxx',
        type: 'POST',
        dataType: 'json',
        data: formData,
        encode: true
    })
    .done(function(data) {
        console.log(data);
    })
});

我怀疑当任务即将运行时会出现JShint错误

$("#用户名").val(),^"简明方法"在ES6(使用esnext选项)或Mozilla JS扩展(使用moz)中可用。

这是我的gruntfile(jshint任务)

jshint: {
        ignore_warning: {
            options: {
                '-W099': true,
                /*'-W041': true,*/
                '-W044': true,
                '-W033': true,
                '-W043': true,
                '-W049': true,
                '-W004': true,
                '-W065': true,
                '-W083': true, // Corrigir futuramente
            },  
            src: ['public/_assets/src/js/modules/*.js'],
        }
    }

它到底是什么意思?我该如何解决这个错误?

谢谢!

formData主体缺少名称:

var formData = {
    $("#username").val(),
    $("#password").val()
};

任何类型的短手对象文字,无论是计算名称还是内联方法,都是ES6特性。

几乎可以肯定的是,您只需要将名称添加到您已经获得的值中:

var formData = {
    username: $("#username").val(),
    password: $("#password").val()
};

使用ES6,您可以在对象文字中声明方法,如下所示:

var formDataFetch = {
  username() {
    return $("#username").val()
  }
};

(请参阅此博客文章了解更多详细信息)

这似乎是解析器认为您的对象包含的内容。