# लूप्स — जावास्क्रिप्ट

Source: https://www.geekswithgeeks.com/hi/javascript/js-loops

> for, while, और दो प्रकार के iteration।

## for, while, do...while

`for` तय संख्या के लिए ठीक है; `while` अनिश्चित संख्या के लिए; `do...while` हमेशा कम से कम एक बार चलता है।

```js
for (let i = 0; i < 3; i++) console.log(i);

let n = 3;
while (n > 0) {
  console.log(n);
  n--;
}
```

## for...of बनाम for...in

`for...of` **मानों** पर चलता है (array, string); `for...in` **की** पर चलता है (ऑब्जेक्ट की properties)।

```js
const arr = [10, 20, 30];
for (const val of arr) console.log(val);

const obj = { a: 1, b: 2 };
for (const key in obj) console.log(key, obj[key]);
```

## break और continue

`break` लूप को पूरी तरह छोड़ देता है; `continue` बिना छोड़े अगले iteration पर कूद जाता है।

**Quiz:** किसी ऑब्जेक्ट की अपनी property keys पर चलने के लिए कौन-सा लूप सबसे उपयुक्त है?

- [ ] for...of
- [x] for...in
- [ ] while

*Answer:* for...in. `for...in` खासतौर पर ऑब्जेक्ट की keys गिनने के लिए बना है।
