8.6 forâĻof, forâĻin
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻ āĻ¯āĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋ āĻāĻžāĻ āĻŦāĻžāĻ°ā§āĻŦāĻžāĻ°ā§ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°ā§ā§āĻāĻ¨ āĻĒāĻ°ā§ āĻ¤āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤Â āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻŽāĻžāĻĻā§āĻ°Â ā§§ā§Ļā§Ļ āĻāĻŋ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ°ā§āĻ° āĻ˛āĻŋāĻ¸ā§āĻ āĻāĻā§āĨ¤Â āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¨āĻŽā§āĻŦāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ ā§Ģ āĻā§āĻ¨ā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¨āĻŽā§āĻŦāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻāĻ āĻ˛āĻžāĻāĻ¨ āĻāĻ°ā§ āĻā§āĻĄ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§Â āĻ¯āĻĻāĻŋ āĻ¨āĻŽā§āĻŦāĻ°ā§ āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻ°ā§ āĻ āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ āĻšā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻā§āĻĄā§āĻ° āĻ˛āĻžāĻāĻ¨ āĻāĻ°ā§ āĻŦā§āĻļāĻŋ āĻšāĻŦā§ āĻ¯āĻž āĻāĻāĻ¨āĻ āĻā§āĻ¨ā§ āĻāĻžāĻ˛ā§ āĻŦāĻŋāĻˇā§ āĻšāĻŦā§ āĻ¨āĻž āĨ¤ āĻāĻ āĻāĻāĻ line of code/code block āĻŦāĻžāĻ°ā§āĻŦāĻžāĻ°ā§Â execute āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯Â āĻāĻŽāĻ°āĻž āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĨ¤Â
āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§ āĻĻā§āĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšā§ : for āĻ˛ā§āĻĒ Â āĻāĻŦāĻ while āĻ˛ā§āĻĒ .
āĻŦā§āĻ¸āĻŋāĻ for loop āĻāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§ āĻāĻ°ā§ āĻĻā§āĻ āĻ§āĻ°āĻ¨ā§āĻ° for āĻ˛ā§āĻĒ āĻ°ā§ā§āĻā§: forâĻin āĻāĻŦāĻ forâĻof āĨ¤ āĻāĻāĻā§ āĻāĻŽāĻ°āĻž forâĻin āĻāĻŦāĻ forâĻof āĻ¨āĻŋā§ā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻŦā§āĨ¤
forâĻin:
forâĻin āĻ˛ā§āĻĒ āĻā§āĻ¨ā§ āĻ āĻŦāĻā§āĻā§āĻā§āĻ° āĻĒā§āĻ°ā§āĻĒāĻžāĻ°ā§āĻāĻŋāĻā§āĻ°Â āĻāĻŋāĻ¤āĻ°ā§ iterate āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšā§ āĨ¤ āĻ¯āĻĻāĻŋ āĻā§āĻ¨ā§ āĻ āĻŦāĻā§āĻā§āĻā§āĻ° attribute/properties āĻ¸āĻŽā§āĻšā§āĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻāĻāĻāĻž āĻā§āĻĄ āĻŦā§āĻ˛āĻ āĻ°āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻ¤āĻžāĻšāĻ˛ā§ forâĻin āĻā§āĻŦāĻ āĻāĻĒāĻāĻžāĻ°ā§āĨ¤ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻž āĻ āĻŦāĻā§āĻā§āĻ āĻāĻā§ Employee āĻ¨āĻžāĻŽā§āĻ°āĨ¤Â āĻāĻŽāĻ°āĻž āĻ āĻŦāĻā§āĻā§āĻā§āĻ° āĻ¸āĻŦāĻā§āĻ˛ā§ attribute āĻāĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ value āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĨ¤ forâĻin āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ˛ā§ āĻā§āĻĄ āĻ¨āĻŋāĻā§āĻ° āĻ āĻāĻļā§āĻ° āĻŽāĻ¤ā§ āĻšāĻŦā§:
āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻā§āĻ¨ā§ āĻ āĻŦāĻā§āĻā§āĻā§āĻ° property/attribute āĻāĻ° āĻāĻĒāĻ° iterate āĻāĻ°āĻŋ āĻ¤āĻāĻ¨ forâĻin āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻ āĻŦāĻā§āĻā§āĻā§āĻ° item āĻāĻ° āĻāĻĒāĻ° iterate āĻāĻ°āĻžāĻ° āĻĒā§āĻ°ā§ā§āĻāĻ¨ āĻĒāĻ°ā§ āĻ¤āĻžāĻšāĻ˛ā§ forâĻof āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ forâĻof āĻ˛ā§āĻĒ String, Array, Set, Map āĻāĻŦāĻ user-defined iterable āĻāĻ° āĻāĻĒāĻ° iterate āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšā§āĨ¤Â
forâĻof:
āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻž Array āĻāĻā§ Employee Name āĻāĻ°āĨ¤ āĻāĻŽāĻ°āĻž Employee Name āĻā§āĻ˛ā§ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻ¤ā§ forâĻof āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĨ¤
āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ Array āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ index āĻ iterate āĻāĻ°ā§āĻā§ āĻāĻŦāĻ letter āĻā§āĻ˛ā§ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ˛āĻžāĻĻāĻž āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĻā§āĨ¤ forâĻof for āĻ˛ā§āĻĒ āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ āĻ¸āĻšāĻāĻŦā§āĻĻā§āĻ§ ( readable ). āĻ¤āĻžāĻ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¸āĻŽā§āĻā§°Â forâĻof āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
- forâĻof(),
const iterable = ‘boo’;for (const value of iterable) {console.log(value);}// b// o// oconst arr = [‘a’, ‘b’, ‘c’];for (const element of arr) {console.log(element);}// a// b// cconst set = new Set([0, 1, 2]);for (const i of set) {console.log(i);}// 0// 1// 2
- forâĻin(),
var obj = {a: 1, b: 2, c: 3};for (const prop in obj) {console.log(`obj.${prop} = ${obj[prop]}`);}// “obj.a = 1”// “obj.b = 2”// “obj.c = 3”const str = “exercise”;for (const i in str) {console.log(str[i]);}// e// x// e// r// c// i// s// e
- āĻāĻāĻ¨ forâĻof( ) āĻāĻŦāĻ āĻāĻāĻ¨ forâĻin( ) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤?
- āĻ¨āĻŋāĻā§āĻ° āĻā§āĻĄā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻāĻŋ āĻšāĻŦā§?
(function (arguments) {for (const argument in arguments) {console.log(argument);}})({ a: 1, b: 2, c: 3 });
- āĻ¨āĻŋāĻā§āĻ° āĻā§āĻĄā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻāĻŋ āĻšāĻŦā§?
const obj = { a: { x: 1 }, b: { y: 2 }, c: { z: 3 } };for (const prop in obj) {for(const innerProp in obj[prop]) {console.log(`prop.${innerProp} = ${obj[prop][innerProp]}`);}}
- āĻ¨āĻŋāĻā§āĻ° āĻā§āĻĄā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻāĻŋ āĻšāĻŦā§?
(function () {for (const argument of arguments) {console.log(argument);}})(1, 2, 3);
- āĻ¨āĻŋāĻā§āĻ° āĻā§āĻĄā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻāĻŋ āĻšāĻŦā§?
const arr = [“abc”, “xyz”];for (const element of arr) {for (const innerElement of element) {console.log(innerElement);}console.log(“”);}
- āĻ¨āĻŋāĻā§āĻ° āĻā§āĻĄā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻāĻŋ āĻšāĻŦā§?
const map = new Map();map.set(‘name’, ‘sania’);map.set(‘job’, ‘swe’);for (let [key, value] of map) {console.log(key + ‘ – ‘ + value);}