String(e)
instead 4376 ? (t += "")
4377 : Array.isArray(t) &&
4378 (t = S.map(t, function (e) {
4379 return null == e ? "" : e + ""; 4380 })),
4381 ((r =
4382 S.valHooks[this.type] ||
t = String(t)
instead 4373 (null == (t = i ? n.call(this, e, S(this).val()) : n)
4374 ? (t = "")
4375 : "number" == typeof t
4376 ? (t += "") 4377 : Array.isArray(t) &&
4378 (t = S.map(t, function (e) {
4379 return null == e ? "" : e + "";
String(n)
instead 4145 ? void S.removeAttr(e, t)
4146 : i && "set" in i && void 0 !== (r = i.set(e, n, t))
4147 ? r
4148 : (e.setAttribute(t, n + ""), n) 4149 : i && "get" in i && null !== (r = i.get(e, t))
4150 ? r
4151 : null == (r = S.find.attr(e, t))
Number(i)
instead 2210 ("null" === i
2211 ? null
2212 : i === +i + ""
2213 ? +i 2214 : J.test(i)
2215 ? JSON.parse(i)
2216 : i));
String(e)
instead 4376 ? (t += "")
4377 : Array.isArray(t) &&
4378 (t = S.map(t, function (e) {
4379 return null == e ? "" : e + ""; 4380 })),
4381 ((r =
4382 S.valHooks[this.type] ||
Prefer using explicit casts by calling Number
, Boolean
, or String
over using operators like +
, !!
or "" +
.
This is considered best practice as it improves readability.
const b = !!foo;
// The `+` operator does not change the value of its operand
// unless it's already a number.
let n = +foo;
n = 1 * foo;
const s = "" + foo;
const b = Boolean(foo);
const n = Number(foo);
const s = String(foo);