String(dropdownActive)
instead68 </fieldset>
69 <fieldset className="grid grid-cols-3 lg:grid-cols-4 p-2 mx-auto">
70 <label className="text-xl lg:text-2xl my-auto p-1">Category</label>
71 <div id="dropdown" class={`relative ${dropdownStyles.dropdown} bg-zinc-300 dark:bg-zinc-600 rounded-lg px-3 dark:text-gray-200 dark:text-zinc-300 text-neutral-700 col-span-2 lg:col-span-3 p-0`} active={"" + dropdownActive}>72 <p className="text-lg transition ease-in-out duration-100 p-1 leading-loose hover:cursor-pointer select-none rounded-none" onClick={dropdownClick}>{category}</p>
73 <ul className="grid grid-col-1 py-1 text-sm bg-zinc-300 dark:bg-zinc-600 rounded-b-lg pr-5 pl-3 dark:text-gray-200 dark:text-neutral-300 text-neutral-700 w-full max-h-32 overflow-y-auto mx-auto" aria-labelledby="dropdownMenu">
74 <p className="text-lg transition ease-in-out duration-100 p-1 hover:text-sky-500 dark:hover:text-sky-400 leading-loose hover:cursor-pointer" onClick={dropdownClickBug}>Bug</p>
String(dropdownActive)
instead17 </svg>
18 </button>
19
20 <div id="dropdown" className={`absolute top-14 ${dropdownStyles.dropdown}`} active={"" + dropdownActive}>21 <ul className="transition ease-in-out grid grid-col-1 py-1 text-sm dark:bg-zinc-900 bg-zinc-200 rounded-b-lg pr-5 pl-3 dark:text-gray-200 dark:text-neutral-300 text-neutral-700 w-40" aria-labelledby="dropdownMenu">
22 <Link href="/download">
23 <a className="text-lg transition ease-in-out duration-100 p-1 hover:text-sky-500 dark:hover:text-sky-400 leading-loose">Download</a>
String(dropdownActive)
instead12 <nav className="transition ease-in-out z-40 w-full h-14 dark:bg-zinc-800 bg-zinc-300 flex gap-6 fixed dark:text-neutral-200">
13 <span></span>
14 <button id="dropdownMenu" data-dropdown-toggle="dropdown" type="button" className={`${dropdownStyles.dropdownToggle}`} onClick={dropdownClick}>
15 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth="1.5" stroke="currentColor" aria-hidden="true" className="w-8" active={"" + dropdownActive}>16 <path strokeLinecap="round" strokeLinejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" />
17 </svg>
18 </button>
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);