chore: Convert == to === and != to !== where possible. (#5599)

This commit is contained in:
Neil Fraser
2021-10-15 09:17:04 -07:00
committed by GitHub
parent 7ac1e27cd6
commit c929b3015b
183 changed files with 1409 additions and 1409 deletions

View File

@@ -67,7 +67,7 @@ Blockly.JavaScript['lists_isEmpty'] = function(block) {
Blockly.JavaScript['lists_indexOf'] = function(block) {
// Find an item in the list.
var operator = block.getFieldValue('END') == 'FIRST' ?
var operator = block.getFieldValue('END') === 'FIRST' ?
'indexOf' : 'lastIndexOf';
var item = Blockly.JavaScript.valueToCode(block, 'FIND',
Blockly.JavaScript.ORDER_NONE) || '\'\'';
@@ -85,54 +85,54 @@ Blockly.JavaScript['lists_getIndex'] = function(block) {
// Note: Until January 2013 this block did not have MODE or WHERE inputs.
var mode = block.getFieldValue('MODE') || 'GET';
var where = block.getFieldValue('WHERE') || 'FROM_START';
var listOrder = (where == 'RANDOM') ? Blockly.JavaScript.ORDER_NONE :
var listOrder = (where === 'RANDOM') ? Blockly.JavaScript.ORDER_NONE :
Blockly.JavaScript.ORDER_MEMBER;
var list = Blockly.JavaScript.valueToCode(block, 'VALUE', listOrder) || '[]';
switch (where) {
case ('FIRST'):
if (mode == 'GET') {
if (mode === 'GET') {
var code = list + '[0]';
return [code, Blockly.JavaScript.ORDER_MEMBER];
} else if (mode == 'GET_REMOVE') {
} else if (mode === 'GET_REMOVE') {
var code = list + '.shift()';
return [code, Blockly.JavaScript.ORDER_MEMBER];
} else if (mode == 'REMOVE') {
} else if (mode === 'REMOVE') {
return list + '.shift();\n';
}
break;
case ('LAST'):
if (mode == 'GET') {
if (mode === 'GET') {
var code = list + '.slice(-1)[0]';
return [code, Blockly.JavaScript.ORDER_MEMBER];
} else if (mode == 'GET_REMOVE') {
} else if (mode === 'GET_REMOVE') {
var code = list + '.pop()';
return [code, Blockly.JavaScript.ORDER_MEMBER];
} else if (mode == 'REMOVE') {
} else if (mode === 'REMOVE') {
return list + '.pop();\n';
}
break;
case ('FROM_START'):
var at = Blockly.JavaScript.getAdjusted(block, 'AT');
if (mode == 'GET') {
if (mode === 'GET') {
var code = list + '[' + at + ']';
return [code, Blockly.JavaScript.ORDER_MEMBER];
} else if (mode == 'GET_REMOVE') {
} else if (mode === 'GET_REMOVE') {
var code = list + '.splice(' + at + ', 1)[0]';
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
} else if (mode == 'REMOVE') {
} else if (mode === 'REMOVE') {
return list + '.splice(' + at + ', 1);\n';
}
break;
case ('FROM_END'):
var at = Blockly.JavaScript.getAdjusted(block, 'AT', 1, true);
if (mode == 'GET') {
if (mode === 'GET') {
var code = list + '.slice(' + at + ')[0]';
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
} else if (mode == 'GET_REMOVE') {
} else if (mode === 'GET_REMOVE') {
var code = list + '.splice(' + at + ', 1)[0]';
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
} else if (mode == 'REMOVE') {
} else if (mode === 'REMOVE') {
return list + '.splice(' + at + ', 1);';
}
break;
@@ -148,10 +148,10 @@ Blockly.JavaScript['lists_getIndex'] = function(block) {
' return list[x];',
' }',
'}']);
code = functionName + '(' + list + ', ' + (mode != 'GET') + ')';
if (mode == 'GET' || mode == 'GET_REMOVE') {
code = functionName + '(' + list + ', ' + (mode !== 'GET') + ')';
if (mode === 'GET' || mode === 'GET_REMOVE') {
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
} else if (mode == 'REMOVE') {
} else if (mode === 'REMOVE') {
return code + ';\n';
}
break;
@@ -182,26 +182,26 @@ Blockly.JavaScript['lists_setIndex'] = function(block) {
}
switch (where) {
case ('FIRST'):
if (mode == 'SET') {
if (mode === 'SET') {
return list + '[0] = ' + value + ';\n';
} else if (mode == 'INSERT') {
} else if (mode === 'INSERT') {
return list + '.unshift(' + value + ');\n';
}
break;
case ('LAST'):
if (mode == 'SET') {
if (mode === 'SET') {
var code = cacheList();
code += list + '[' + list + '.length - 1] = ' + value + ';\n';
return code;
} else if (mode == 'INSERT') {
} else if (mode === 'INSERT') {
return list + '.push(' + value + ');\n';
}
break;
case ('FROM_START'):
var at = Blockly.JavaScript.getAdjusted(block, 'AT');
if (mode == 'SET') {
if (mode === 'SET') {
return list + '[' + at + '] = ' + value + ';\n';
} else if (mode == 'INSERT') {
} else if (mode === 'INSERT') {
return list + '.splice(' + at + ', 0, ' + value + ');\n';
}
break;
@@ -209,10 +209,10 @@ Blockly.JavaScript['lists_setIndex'] = function(block) {
var at = Blockly.JavaScript.getAdjusted(block, 'AT', 1, false,
Blockly.JavaScript.ORDER_SUBTRACTION);
var code = cacheList();
if (mode == 'SET') {
if (mode === 'SET') {
code += list + '[' + list + '.length - ' + at + '] = ' + value + ';\n';
return code;
} else if (mode == 'INSERT') {
} else if (mode === 'INSERT') {
code += list + '.splice(' + list + '.length - ' + at + ', 0, ' + value +
');\n';
return code;
@@ -224,10 +224,10 @@ Blockly.JavaScript['lists_setIndex'] = function(block) {
'tmpX', Blockly.VARIABLE_CATEGORY_NAME);
code += 'var ' + xVar + ' = Math.floor(Math.random() * ' + list +
'.length);\n';
if (mode == 'SET') {
if (mode === 'SET') {
code += list + '[' + xVar + '] = ' + value + ';\n';
return code;
} else if (mode == 'INSERT') {
} else if (mode === 'INSERT') {
code += list + '.splice(' + xVar + ', 0, ' + value + ');\n';
return code;
}
@@ -245,11 +245,11 @@ Blockly.JavaScript['lists_setIndex'] = function(block) {
* @private
*/
Blockly.JavaScript.lists.getIndex_ = function(listName, where, opt_at) {
if (where == 'FIRST') {
if (where === 'FIRST') {
return '0';
} else if (where == 'FROM_END') {
} else if (where === 'FROM_END') {
return listName + '.length - 1 - ' + opt_at;
} else if (where == 'LAST') {
} else if (where === 'LAST') {
return listName + '.length - 1';
} else {
return opt_at;
@@ -262,10 +262,10 @@ Blockly.JavaScript['lists_getSublist'] = function(block) {
Blockly.JavaScript.ORDER_MEMBER) || '[]';
var where1 = block.getFieldValue('WHERE1');
var where2 = block.getFieldValue('WHERE2');
if (where1 == 'FIRST' && where2 == 'LAST') {
if (where1 === 'FIRST' && where2 === 'LAST') {
var code = list + '.slice(0)';
} else if (list.match(/^\w+$/) ||
(where1 != 'FROM_END' && where2 == 'FROM_START')) {
(where1 !== 'FROM_END' && where2 === 'FROM_START')) {
// If the list is a variable or doesn't require a call for length, don't
// generate a helper function.
switch (where1) {
@@ -311,8 +311,8 @@ Blockly.JavaScript['lists_getSublist'] = function(block) {
'(sequence' +
// The value for 'FROM_END' and'FROM_START' depends on `at` so
// we add it as a parameter.
((where1 == 'FROM_END' || where1 == 'FROM_START') ? ', at1' : '') +
((where2 == 'FROM_END' || where2 == 'FROM_START') ? ', at2' : '') +
((where1 === 'FROM_END' || where1 === 'FROM_START') ? ', at1' : '') +
((where2 === 'FROM_END' || where2 === 'FROM_START') ? ', at2' : '') +
') {',
' var start = ' + getIndex_('sequence', where1, 'at1') + ';',
' var end = ' + getIndex_('sequence', where2, 'at2') + ' + 1;',
@@ -321,8 +321,8 @@ Blockly.JavaScript['lists_getSublist'] = function(block) {
var code = functionName + '(' + list +
// The value for 'FROM_END' and 'FROM_START' depends on `at` so we
// pass it.
((where1 == 'FROM_END' || where1 == 'FROM_START') ? ', ' + at1 : '') +
((where2 == 'FROM_END' || where2 == 'FROM_START') ? ', ' + at2 : '') +
((where1 === 'FROM_END' || where1 === 'FROM_START') ? ', ' + at1 : '') +
((where2 === 'FROM_END' || where2 === 'FROM_START') ? ', ' + at2 : '') +
')';
}
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
@@ -362,12 +362,12 @@ Blockly.JavaScript['lists_split'] = function(block) {
var delimiter = Blockly.JavaScript.valueToCode(block, 'DELIM',
Blockly.JavaScript.ORDER_NONE) || '\'\'';
var mode = block.getFieldValue('MODE');
if (mode == 'SPLIT') {
if (mode === 'SPLIT') {
if (!input) {
input = '\'\'';
}
var functionName = 'split';
} else if (mode == 'JOIN') {
} else if (mode === 'JOIN') {
if (!input) {
input = '[]';
}

View File

@@ -63,7 +63,7 @@ Blockly.JavaScript['logic_compare'] = function(block) {
'GTE': '>='
};
var operator = OPERATORS[block.getFieldValue('OP')];
var order = (operator == '==' || operator == '!=') ?
var order = (operator === '==' || operator === '!=') ?
Blockly.JavaScript.ORDER_EQUALITY : Blockly.JavaScript.ORDER_RELATIONAL;
var argument0 = Blockly.JavaScript.valueToCode(block, 'A', order) || '0';
var argument1 = Blockly.JavaScript.valueToCode(block, 'B', order) || '0';
@@ -73,8 +73,8 @@ Blockly.JavaScript['logic_compare'] = function(block) {
Blockly.JavaScript['logic_operation'] = function(block) {
// Operations 'and', 'or'.
var operator = (block.getFieldValue('OP') == 'AND') ? '&&' : '||';
var order = (operator == '&&') ? Blockly.JavaScript.ORDER_LOGICAL_AND :
var operator = (block.getFieldValue('OP') === 'AND') ? '&&' : '||';
var order = (operator === '&&') ? Blockly.JavaScript.ORDER_LOGICAL_AND :
Blockly.JavaScript.ORDER_LOGICAL_OR;
var argument0 = Blockly.JavaScript.valueToCode(block, 'A', order);
var argument1 = Blockly.JavaScript.valueToCode(block, 'B', order);
@@ -84,7 +84,7 @@ Blockly.JavaScript['logic_operation'] = function(block) {
argument1 = 'false';
} else {
// Single missing arguments have no effect on the return value.
var defaultArgument = (operator == '&&') ? 'true' : 'false';
var defaultArgument = (operator === '&&') ? 'true' : 'false';
if (!argument0) {
argument0 = defaultArgument;
}
@@ -107,7 +107,7 @@ Blockly.JavaScript['logic_negate'] = function(block) {
Blockly.JavaScript['logic_boolean'] = function(block) {
// Boolean values true and false.
var code = (block.getFieldValue('BOOL') == 'TRUE') ? 'true' : 'false';
var code = (block.getFieldValue('BOOL') === 'TRUE') ? 'true' : 'false';
return [code, Blockly.JavaScript.ORDER_ATOMIC];
};

View File

@@ -48,7 +48,7 @@ Blockly.JavaScript['controls_repeat'] =
Blockly.JavaScript['controls_whileUntil'] = function(block) {
// Do while/until loop.
var until = block.getFieldValue('MODE') == 'UNTIL';
var until = block.getFieldValue('MODE') === 'UNTIL';
var argument0 = Blockly.JavaScript.valueToCode(block, 'BOOL',
until ? Blockly.JavaScript.ORDER_LOGICAL_NOT :
Blockly.JavaScript.ORDER_NONE) || 'false';
@@ -81,7 +81,7 @@ Blockly.JavaScript['controls_for'] = function(block) {
variable0 + (up ? ' <= ' : ' >= ') + argument1 + '; ' +
variable0;
var step = Math.abs(Number(increment));
if (step == 1) {
if (step === 1) {
code += up ? '++' : '--';
} else {
code += (up ? ' += ' : ' -= ') + step;

View File

@@ -52,18 +52,18 @@ Blockly.JavaScript['math_single'] = function(block) {
var operator = block.getFieldValue('OP');
var code;
var arg;
if (operator == 'NEG') {
if (operator === 'NEG') {
// Negation is a special case given its different operator precedence.
arg = Blockly.JavaScript.valueToCode(block, 'NUM',
Blockly.JavaScript.ORDER_UNARY_NEGATION) || '0';
if (arg[0] == '-') {
if (arg[0] === '-') {
// --3 is not legal in JS.
arg = ' ' + arg;
}
code = '-' + arg;
return [code, Blockly.JavaScript.ORDER_UNARY_NEGATION];
}
if (operator == 'SIN' || operator == 'COS' || operator == 'TAN') {
if (operator === 'SIN' || operator === 'COS' || operator === 'TAN') {
arg = Blockly.JavaScript.valueToCode(block, 'NUM',
Blockly.JavaScript.ORDER_DIVISION) || '0';
} else {
@@ -152,24 +152,24 @@ Blockly.JavaScript['math_number_property'] = function(block) {
Blockly.JavaScript.ORDER_MODULUS) || '0';
var dropdown_property = block.getFieldValue('PROPERTY');
var code;
if (dropdown_property == 'PRIME') {
if (dropdown_property === 'PRIME') {
// Prime is a special case as it is not a one-liner test.
var functionName = Blockly.JavaScript.provideFunction_(
'mathIsPrime',
['function ' + Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_ + '(n) {',
' // https://en.wikipedia.org/wiki/Primality_test#Naive_methods',
' if (n == 2 || n == 3) {',
' if (n === 2 || n === 3) {',
' return true;',
' }',
' // False if n is NaN, negative, is 1, or not whole.',
' // And false if n is divisible by 2 or 3.',
' if (isNaN(n) || n <= 1 || n % 1 != 0 || n % 2 == 0 ||' +
' n % 3 == 0) {',
' if (isNaN(n) || n <= 1 || n % 1 !== 0 || n % 2 === 0 ||' +
' n % 3 === 0) {',
' return false;',
' }',
' // Check all the numbers of form 6k +/- 1, up to sqrt(n).',
' for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {',
' if (n % (x - 1) == 0 || n % (x + 1) == 0) {',
' if (n % (x - 1) === 0 || n % (x + 1) === 0) {',
' return false;',
' }',
' }',
@@ -180,13 +180,13 @@ Blockly.JavaScript['math_number_property'] = function(block) {
}
switch (dropdown_property) {
case 'EVEN':
code = number_to_check + ' % 2 == 0';
code = number_to_check + ' % 2 === 0';
break;
case 'ODD':
code = number_to_check + ' % 2 == 1';
code = number_to_check + ' % 2 === 1';
break;
case 'WHOLE':
code = number_to_check + ' % 1 == 0';
code = number_to_check + ' % 1 === 0';
break;
case 'POSITIVE':
code = number_to_check + ' > 0';
@@ -197,7 +197,7 @@ Blockly.JavaScript['math_number_property'] = function(block) {
case 'DIVISIBLE_BY':
var divisor = Blockly.JavaScript.valueToCode(block, 'DIVISOR',
Blockly.JavaScript.ORDER_MODULUS) || '0';
code = number_to_check + ' % ' + divisor + ' == 0';
code = number_to_check + ' % ' + divisor + ' === 0';
break;
}
return [code, Blockly.JavaScript.ORDER_EQUALITY];
@@ -209,7 +209,7 @@ Blockly.JavaScript['math_change'] = function(block) {
Blockly.JavaScript.ORDER_ADDITION) || '0';
var varName = Blockly.JavaScript.nameDB_.getName(
block.getFieldValue('VAR'), Blockly.VARIABLE_CATEGORY_NAME);
return varName + ' = (typeof ' + varName + ' == \'number\' ? ' + varName +
return varName + ' = (typeof ' + varName + ' === \'number\' ? ' + varName +
' : 0) + ' + argument0 + ';\n';
};
@@ -239,7 +239,7 @@ Blockly.JavaScript['math_on_list'] = function(block) {
code = 'Math.max.apply(null, ' + list + ')';
break;
case 'AVERAGE':
// mathMean([null,null,1,3]) == 2.0.
// mathMean([null,null,1,3]) === 2.0.
var functionName = Blockly.JavaScript.provideFunction_(
'mathMean',
['function ' + Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_ +
@@ -252,16 +252,16 @@ Blockly.JavaScript['math_on_list'] = function(block) {
code = functionName + '(' + list + ')';
break;
case 'MEDIAN':
// mathMedian([null,null,1,3]) == 2.0.
// mathMedian([null,null,1,3]) === 2.0.
var functionName = Blockly.JavaScript.provideFunction_(
'mathMedian',
['function ' + Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_ +
'(myList) {',
' var localList = myList.filter(function (x) ' +
'{return typeof x == \'number\';});',
'{return typeof x === \'number\';});',
' if (!localList.length) return null;',
' localList.sort(function(a, b) {return b - a;});',
' if (localList.length % 2 == 0) {',
' if (localList.length % 2 === 0) {',
' return (localList[localList.length / 2 - 1] + ' +
'localList[localList.length / 2]) / 2;',
' } else {',
@@ -301,7 +301,7 @@ Blockly.JavaScript['math_on_list'] = function(block) {
' maxCount = Math.max(thisCount, maxCount);',
' }',
' for (var j = 0; j < counts.length; j++) {',
' if (counts[j][1] == maxCount) {',
' if (counts[j][1] === maxCount) {',
' modes.push(counts[j][0]);',
' }',
' }',

View File

@@ -24,7 +24,7 @@ Blockly.JavaScript['text'] = function(block) {
Blockly.JavaScript['text_multiline'] = function(block) {
// Text value.
var code = Blockly.JavaScript.multiline_quote_(block.getFieldValue('TEXT'));
var order = code.indexOf('+') != -1 ? Blockly.JavaScript.ORDER_ADDITION :
var order = code.indexOf('+') !== -1 ? Blockly.JavaScript.ORDER_ADDITION :
Blockly.JavaScript.ORDER_ATOMIC;
return [code, order];
};
@@ -105,7 +105,7 @@ Blockly.JavaScript['text_isEmpty'] = function(block) {
Blockly.JavaScript['text_indexOf'] = function(block) {
// Search the text for a substring.
var operator = block.getFieldValue('END') == 'FIRST' ?
var operator = block.getFieldValue('END') === 'FIRST' ?
'indexOf' : 'lastIndexOf';
var substring = Blockly.JavaScript.valueToCode(block, 'FIND',
Blockly.JavaScript.ORDER_NONE) || '\'\'';
@@ -123,7 +123,7 @@ Blockly.JavaScript['text_charAt'] = function(block) {
// Get letter at index.
// Note: Until January 2013 this block did not have the WHERE input.
var where = block.getFieldValue('WHERE') || 'FROM_START';
var textOrder = (where == 'RANDOM') ? Blockly.JavaScript.ORDER_NONE :
var textOrder = (where === 'RANDOM') ? Blockly.JavaScript.ORDER_NONE :
Blockly.JavaScript.ORDER_MEMBER;
var text = Blockly.JavaScript.valueToCode(block, 'VALUE',
textOrder) || '\'\'';
@@ -166,11 +166,11 @@ Blockly.JavaScript['text_charAt'] = function(block) {
* @private
*/
Blockly.JavaScript.text.getIndex_ = function(stringName, where, opt_at) {
if (where == 'FIRST') {
if (where === 'FIRST') {
return '0';
} else if (where == 'FROM_END') {
} else if (where === 'FROM_END') {
return stringName + '.length - 1 - ' + opt_at;
} else if (where == 'LAST') {
} else if (where === 'LAST') {
return stringName + '.length - 1';
} else {
return opt_at;
@@ -181,13 +181,13 @@ Blockly.JavaScript['text_getSubstring'] = function(block) {
// Get substring.
var where1 = block.getFieldValue('WHERE1');
var where2 = block.getFieldValue('WHERE2');
var requiresLengthCall = (where1 != 'FROM_END' && where1 != 'LAST' &&
where2 != 'FROM_END' && where2 != 'LAST');
var requiresLengthCall = (where1 !== 'FROM_END' && where1 !== 'LAST' &&
where2 !== 'FROM_END' && where2 !== 'LAST');
var textOrder = requiresLengthCall ? Blockly.JavaScript.ORDER_MEMBER :
Blockly.JavaScript.ORDER_NONE;
var text = Blockly.JavaScript.valueToCode(block, 'STRING',
textOrder) || '\'\'';
if (where1 == 'FIRST' && where2 == 'LAST') {
if (where1 === 'FIRST' && where2 === 'LAST') {
var code = text;
return [code, Blockly.JavaScript.ORDER_NONE];
} else if (text.match(/^'?\w+'?$/) || requiresLengthCall) {
@@ -236,8 +236,8 @@ Blockly.JavaScript['text_getSubstring'] = function(block) {
'(sequence' +
// The value for 'FROM_END' and'FROM_START' depends on `at` so
// we add it as a parameter.
((where1 == 'FROM_END' || where1 == 'FROM_START') ? ', at1' : '') +
((where2 == 'FROM_END' || where2 == 'FROM_START') ? ', at2' : '') +
((where1 === 'FROM_END' || where1 === 'FROM_START') ? ', at1' : '') +
((where2 === 'FROM_END' || where2 === 'FROM_START') ? ', at2' : '') +
') {',
' var start = ' + getIndex_('sequence', where1, 'at1') + ';',
' var end = ' + getIndex_('sequence', where2, 'at2') + ' + 1;',
@@ -246,8 +246,8 @@ Blockly.JavaScript['text_getSubstring'] = function(block) {
var code = functionName + '(' + text +
// The value for 'FROM_END' and 'FROM_START' depends on `at` so we
// pass it.
((where1 == 'FROM_END' || where1 == 'FROM_START') ? ', ' + at1 : '') +
((where2 == 'FROM_END' || where2 == 'FROM_START') ? ', ' + at2 : '') +
((where1 === 'FROM_END' || where1 === 'FROM_START') ? ', ' + at1 : '') +
((where2 === 'FROM_END' || where2 === 'FROM_START') ? ', ' + at2 : '') +
')';
}
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
@@ -314,7 +314,7 @@ Blockly.JavaScript['text_prompt_ext'] = function(block) {
Blockly.JavaScript.ORDER_NONE) || '\'\'';
}
var code = 'window.prompt(' + msg + ')';
var toNumber = block.getFieldValue('TYPE') == 'NUMBER';
var toNumber = block.getFieldValue('TYPE') === 'NUMBER';
if (toNumber) {
code = 'Number(' + code + ')';
}