Tajin
Simply put, "isEqualTo" is a binary comparison. Therefor it is very fast but only accepts 100% identical matches. In some other languages this is known as "===" instead of "==".
Results appear below as you type; use the arrow keys to move through them.
Performs strict comparison between var1 and var2 and returns true if equal, otherwise false. Strict means that it would check that both arguments are of the same data type and then compare the values.
Some differences between isEqualTo and ==:
Note
A compiled code is not equal to the same compiled code made final:
_a = compile "123"; _b = compileFinal "123"; _a isEqualTo _b; // false
Warning
When comparing Arrays, if an array contains nil element, the comparison will return false. For example:
private _array1 = [1, nil, 2]; private _array2 = [1, nil, 2]; _array1 isEqualTo _array2; // falseUNLESS the compared arrays are the same array:
private _array1 = [1, nil, 2]; private _array2 = _array1; _array1 isEqualTo _array2; // trueSee: isEqualRef and BIS_fnc_areEqual vs BIS_fnc_areEqualNotNil
val1 isEqualTo val2
Parameters:
Returns: Boolean
_arr1 = [1, [2, [3]]];
_arr2 = [1, [2, [3]]];
if (_arr1 isEqualTo _arr2) then { hint "Arrays match!" };
if (a isEqualTo b) then { hint "a is equal to b" };
if !(a isEqualTo b) then { hint "a is not equal to b" };
isNotEqualTo · isEqualRef · isEqualTypeAll · isEqualTypeAny · isEqualType · isEqualTypeParams · isEqualTypeArray · a == b · Operators
Simply put, "isEqualTo" is a binary comparison. Therefor it is very fast but only accepts 100% identical matches. In some other languages this is known as "===" instead of "==".
When comparing with nil result is Nothing.
nil isEqualTo player;
Returns Nothing instead of expected false
diag_log [nil isEqualTo player];
Will print [bool]