#### Is your feature request related to a problem? Please describe.
This is an optimazition of code.

#### Describe the solution you'd like
The following line of code comes from https://github.com/axios/axios/blob/master/lib/adapters/http.js#L403:
```js
reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);
```
It can be optimized as follows:
```js
reject(!cancel || cancel.type ? new CanceledError() : cancel);
```

#### Describe alternatives you've considered
When the code is executed to `(cancel && cancel.type)`, it means `!cancel` is false, so `cancel` is true, we can get `cancel.type` directly.

#### Additional context
no more

lib/adapters/xhr.js
if (config.cancelToken) {
        config.cancelToken.unsubscribe(onCanceled);
      }
      if (config.signal) {
        config.signal.removeEventListener('abort', onCanceled);
      }
    }
    if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {
      delete requestHeaders['Content-Type']; 
    }
    var request = new XMLHttpRequest();
    
    if (config.auth) {
      var username = config.auth.username || '';
      var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
    }
    var fullPath = buildFullPath(config.baseURL, config.url);
    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
    
    request.timeout = config.timeout;
    function onloadend() {