========================================== Input : x | undefined ========================================== ------------------------------------------ x x ------------------------------------------ xundefined something xundefined something ------------------------------------------ x something undefined x something undefined ------------------------------------------ x something undefined x something undefined ------------------------------------------ xx xx ------------------------------------------ xxx xxx ------------------------------------------ xx xx ========================================== Input : 12 | undefined ========================================== ------------------------------------------ 12 12 ------------------------------------------ NaN something NaN something ------------------------------------------ 12 something undefined 12 something undefined ------------------------------------------ 12 something undefined 12 something undefined ------------------------------------------ 1212 1212 ------------------------------------------ 121212 121212 ------------------------------------------ 1212 1212 ========================================== Input : true | undefined ========================================== ------------------------------------------ true true ------------------------------------------ NaN something NaN something ------------------------------------------ true something undefined true something undefined ------------------------------------------ true something undefined true something undefined ------------------------------------------ truetrue truetrue ------------------------------------------ truetruetrue truetruetrue ------------------------------------------ truetrue truetrue ========================================== A.toString B.toString Input : A | B ========================================== ------------------------------------------ A.toString A A.toString A ------------------------------------------ A.toString B.toString AB something A.toString B.toString AB something ------------------------------------------ A.toString B.toString A something B A.toString B.toString A something B ------------------------------------------ B.toString A.toString A something B B.toString A.toString A something B ------------------------------------------ A.toString A.toString AA A.toString A.toString AA ------------------------------------------ A.toString A.toString A.toString AAA A.toString A.toString A.toString AAA ------------------------------------------ A.toString A.toString AA A.toString A.toString AA