Do...while types not treated same as while types
- Lingua principale
- Rust
- Stelle
- 22.3k
- Fork
- 1.9k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
I think there's an issue dealing with the do statement here:
```js
const getSomeParentNode = (element: Element) => {
let elementParent = element.parentNode;
if (!elementParent) {
return null;
}
do {
elementParent = elementParent.parentNode;
if (!elementParent) {
return null;
}
} while (elementParent !== document.body);
return elementParent;
};
```
```
11: elementParent = elementParent.parentNode;
^ property `parentNode`. Property cannot be accessed on possibly null value
```
Whereas the regular `while` loop version correctly recalculates the type of `elementParent` at the top of the loop.
```js
const getSomeParentNode = (element: Element) => {
let elementParent = element.parentNode;
if (!elementParent) {
return null;
}
while (elementParent !== document.body) {
elementParent = elementParent.parentNode;
if (!elementParent) {
return null;
}
}
return elementParent;
};
```
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.