Common pattern without else Many developers prefer an early return instead of else : function login ( user ) { if ( ! user ) { console . log( "No user found" ); return ; } console . log( "Welcome" ); } Here no else is needed because return exits the function. Rule: If there is no else , JavaScript simply ignores the if block when the condition is false and continues executing the next line. why return return is used to immediately stop a function and optionally send a value back . Example without return : function greet () { console . log( "Hello" ); console . log( "Welcome" ); } greet (); Output: Hello Welcome Both lines run. Example with return : function greet () { console . log( "Hello" ); return ; console . log( "Welcome" ); } greet (); Output: Hello After return , the function ends immediately. Anything below it is not executed. That's why de...
What <ShippingFormInputs> actually does useForm < ShippingFormInputs >() This is NOT runtime code . It only tells TypeScript: “This form should only accept fields defined in ShippingFormInputs.” 📦 Example type type ShippingFormInputs = { email: string ; age: number ; }; So valid fields are only: "email" "age" ❌ How it catches typos Example mistake: register ( "emial" ); // ❌ typo 👉 TypeScript immediately checks: “Is 'emial' a key in ShippingFormInputs?” Answer: ❌ NO So it shows error: Argument of type '"emial"' is not assignable to parameter of type '"email" | "age"'