let range = {
				from: 1,
				to: 5
}

range[Symbol.iterator] = function(){

	return {
		current: this.from,
		last: this.to,
		
		next(){
			if(this.current <= this.last){
				return {done: false, value: this.current++};
			} else {
				return {done: true};
			}
		}
	}
};


for(let num of range){
	console.log(num);
}

for(let ch of "tests"){
	console.log(ch)
}

let arrayLike = {
	0: "Hello",
	1: "World",
	length: 2
};

// Array.from
let arr = Array.from(arrayLike);
console.log(arr.pop()); // World
arr = Array.from(range);
console.log(arr); //1, 2, 3, 4, 5
arr = Array.from(range, num => num * num);
console.log(arr); //1, 4, 9, 16, 25

let s = "split";
let split_s = s.split('');
let arr_s = Array.from(s);
console.log(split_s);
console.log(split_s[0]);
console.log(split_s[1]);
console.log(split_s.length);
console.log(arr_s);
console.log(arr_s[0]);
console.log(arr_s[1]);
console.log(arr_s.length);