let
or const
instead of var
JS-02391299
1300 const raw_json_id = "fireSeqSearchWordcloudRawJson";
1301 var raw_dom = document.getElementById(raw_json_id);
1302 var raw_json = raw_dom.textContent;1303
1304 raw_dom.setAttribute("style", "width: 1000px");
1305 // consoleLogForDebug(raw_json);
1298 consoleLogForDebug(WordCloud.isSupported);
1299
1300 const raw_json_id = "fireSeqSearchWordcloudRawJson";
1301 var raw_dom = document.getElementById(raw_json_id);1302 var raw_json = raw_dom.textContent;
1303
1304 raw_dom.setAttribute("style", "width: 1000px");
1256
1257function process_word_list(word_list, _serverInfo) {
1258 var min_freq = -1;
1259 var max_freq = 1;1260 const max_size = 60;
1261 const min_size = 30;
1262
1255
1256
1257function process_word_list(word_list, _serverInfo) {
1258 var min_freq = -1;1259 var max_freq = 1;
1260 const max_size = 60;
1261 const min_size = 30;
1227 WordCloud.minFontSize = minFontSize
1228 WordCloud.stop = function stop () {
1229 if (timer) {
1230 for (var timerId in timer) {1231 window.clearImmediate(timer[timerId])
1232 }
1233 }
It is recommended to use let
or const
over var
.
This will help prevent re-declaration of variables that are in the global scope when using var
.
ES6 allows programmers to create variables with block scope instead of function scope using the let
and const
keywords.
Block scope is common in many other programming languages and helps programmers avoid mistakes such as this one:
var count = people.length;
var enoughFood = count > sandwiches.length;
if (enoughFood) {
var count = sandwiches.length; // accidentally overriding the count variable
console.log("We have " + count + " sandwiches for everyone. Plenty for all!");
}
// our count variable is no longer accurate
console.log("We have " + count + " people and " + sandwiches.length + " sandwiches!");
Block scoped variables shadow outer declarations instead of writing to them.
NOTE: There are certain edge cases where users might want to consider var. Consider this example:
var lib = lib || { run: () => {} }
Here, lib
might be a library that is exposed to an HTML file using a <script>
tag.
The var
keyword helps avoid re-writing lib
if it has already been declared via an injected script that was executed before this one.
Ideally, you should let bundlers worry about cases like this.
But if you want to use var
anyway, consider using a skipcq comment, or disabling the issue altogether.
var x = "y";
var CONFIG = {};
let x = "y";
const CONFIG = {};