Приведение типов может понадобиться, если нам нужно вернуть данные определённый типа. Банальный пример, нужно вернуть true, если элемент есть на странице, иначе false.
На jquery:
if($('#findID').length == 1)) return true; else return false;
Лично мне больше нравится вариант:
return !!$('#findID').length;
toBoolean
В Javascript преобразование типа к boolean можно сделать следующими способами:
!!myVar Boolean(myVar)
Оба предложенных варианта toBoolean ("к булевскому") преобразуют свой аргумент в значение типа Boolean согласно следующей таблице:
Входной тип | Результат |
---|---|
Undefined | false |
Null | false |
Boolean | Результат совпадает с входным аргументом (преобразование не производится). |
Number | Результат равен false, если аргумент равен 0 или NaN, иначе результат равен true. |
String | Результат равен false, если аргумент является пустой строкой (его длина равна нулю), иначе результат равен true. |
Object | true |
Примеры toBoolean в javascript, используя встроенную функцию Boolean()
:
var var1 = NaN; !!var1; //false Boolean(var1); //false var var2 = 'false'; //строка, любая строка кроме пустой '' -> будет true !!var2; //true Boolean(var2); //true var var3 = false; !!var3; //false Boolean(var3); //false var var4 = 0; !!var4; //false Boolean(var4); //false
toNumber
В Javascript преобразование чисел, строк, объектов к числу (не обязательно целому, может быть и дробное) можно сделать c помощью функции Number()
:
Number(myVar);
("к числу") преобразует свой аргумент в значение типа Number согласно следующей таблице:
Входной тип | Результат |
---|---|
Undefined | NaN |
Null | 0 |
Boolean | Результат равен 1, если аргумент равен true. Результат равен 0, если аргумент равен false. |
Number | Результат совпадает с входным аргументом (преобразование не производится). |
String |
1. Для строкового численного литерала вернёт исходное число. 2. Для не численного литерала вернёт NaN. |
Object |
Применяются следующие шаги:
1. Вызвать ToPrimitive (входной аргумент, подсказка Number). 2. Вызвать ToNumber(Результат(1)). 3. Вернуть Результат(2). |
Примеры преобразования toNumber, используя встроенную функцию Number
в javascript:
Number(5); //5 Number('0.25'); //0.25 Number('q5'); //NaN Number('abc'); //NaN Number(false); //0 Number(true); //1
Преобразование к целочисленному типу (parseInt)
Функция parseInt
("к целому") преобразует свой аргумент в целочисленное значение. Примеры использования функции parseInt
в javascript:
parseInt(5); //5 parseInt(5.33); //5 parseInt('5.44'); //5 parseInt(true); //NaN parseInt(false); //NaN parseInt('abc'); //NaN parseInt('5abc'); //5 parseInt('x5abc'); //NaN
ты хоть сам это пробовал?
return !!$('#findID').length
Fatal Error
Так делать можно: return !!$('#findID').length - на выходе имеем bool.
ведь сами написали, что:
"Лично мне больше нравится вариант:
return toBoolean($('#findID').length);"
root.toNeanderthalensis