Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36
Chrome 109
Mac OS X 10.15.7
Desktop
2 years ago
Test name Executions per second
Using the spread operator 5327034.0 Ops/sec
Using Object.assign 5427008.5 Ops/sec
Tests:
  • Using the spread operator

    x
     
    const searchParams = {};
    const email = "email"
      // const email = getCookie("email");
      const firstname = "firstname"
      // const firstname = getCookie("firstname");
      const lastname = "lastname"
      // const lastname = getCookie("lastname");
      const phone = "phone"
      // const phone = getCookie("phone");
      // const cookieValues = {
      //   email,
      //   firstname,
      //   lastname,
      //   phone,
      // };
      let cookieValues = {}
      if (email) { cookieValues.email = email}
      if (firstname) { cookieValues.firstname = firstname}
      if (lastname) { cookieValues.lastname = lastname}
      if (phone) { cookieValues.phone = phone}
      Object.assign(searchParams, cookieValues);
  • Using Object.assign

     
    const searchParams = {};
    const email = "email";
      const firstname = "firstname";
      const lastname = "lastname";
      const phone = "phone";
    Object.assign(searchParams, {
        email,
        firstname,
        lastname,
        phone,
      });