概要
webpackを利用してjQueryを記述中にeslintのエラーが出たので、エラーの意味と解決策
①
var storyTitle = $(".p-story").find(".js-blockTitle--scroll").html();
var storyTitleTrim = $.trim(storyTitle);
var newHtml2 = "";
storyTitleTrim.split("").forEach( v => {
newHtml2 += "<span>" + v + "</span>";
});
$(".p-story").find(".js-blockTitle--scroll").html(newHtml2);
error 'storyTitle' is assigned a value but never used no-unused-vars
→変数定義の際にvarを使用するのは望ましくないからconstかletで定義しようというエラー
varをconstもしくはletに変更するだけで解決。
②
const storyTitle = $(".p-story").find(".js-blockTitle--scroll").html();
const storyTitleTrim = $.trim(storyTitle);
const newHtml2 = "";
storyTitleTrim.split("").forEach( v => {
newHtml2 += "<span>" + v + "</span>";
});
$(".p-story").find(".js-blockTitle--scroll").html(newHtml2);
error 'newHtml' is already defined no-redeclare
→「const newHtml2 = "";」はconstで変数宣言しているため、変数の再定義は不可というエラー
varだとまたエラーが出てしまうため、letにて変数宣言することで解決。
③
const storyTitle = $(".p-story").find(".js-blockTitle--scroll").html();
const storyTitleTrim = $.trim(storyTitle);
let newHtml2 = "";
storyTitleTrim.split("").forEach( v => {
newHtml2 += "<span>" + v + "</span>";
});
$(".p-story").find(".js-blockTitle--scroll").html(newHtml2);
error Unexpected string concatenation prefer-template
→「newHtml2 += "" + v + "";」の記述について、javascriptの言語機能であるテンプレートリテラルにて記述しようというエラー。
newHtml2 += <span>${v}</span>
;と記述することで解決。