for ~ of 를 사용하여 배열이나 문자열을 순회합니다.

아래 코드 참조.



var data = [1,2,undefined,NaN,null,""];
for(var i=0;i<data.length;i++){
  console.log(i);
}

data.forEach(function(value){
  console.log("valueis",value);
});

//오브젝트 순회용
//but, 상위객체를 포함하는 경우가 있음. prototype
for(let idx in data){
  console.log(data[idx]);
}

// for of 사용 (문자열 순회나 배열)
for(let value of data){
  console.log(value);
}

var str = "hello world!!";
for(let value of str){
  console.log(value);
}

인프런 "모던 자바스크립트(javascript) 개발을 위한 ES6 강좌"를 정리한 내용입니다.

ES6 === ES2015 입니다.

ES6는 바벨(babel)을 이용해 ES5로 변환 가능합니다.


let은 블록스코프를 가집니다. 블록안에서만 유효합니다. 예를 들면 for문 안에서만 유효.

var i=0 의 경우 이벤트 리스너 콜백에서 i를 찍어보면 전부 4로 찍힘.(마지막 순번). let을 쓰면 각각 지역변수화 되어 0,1,2,3 이 찍힘.


const는 재할당이 불가합니다.

let과 const의 사용전략은 이렇습니다.

1. const를 기본으로 사용한다.

2. 그런데 변경이 발생 할 수 있는 변수는 let을 사용한다.

3. var는 사용하지 않는다.

4. const를 사용하더라도 배열과 오브젝트의 값을 변경하는 것은 가능하다. (push 등 가능 .. 재할당이 안된다는 것임)


추가 된 string 메소드.

str.startWith()

str.endsWith()

str.includes("world")


인프런 "모던 자바스크립트(javascript) 개발을 위한 ES6 강좌"를 정리한 내용입니다.

ES6에서 배열과 관련해서 유용한 오퍼레이터와 메소드가 있습니다.

아래 코드로 확인하시죠.



//spread operator 배열 복사
let data1 = ["aa","bb", 123];
let data2 = [...data1];
console.log(data1,data2);
console.log(data1 === data2); //false. 데이터를 복사한것뿐.

//활용
function sum(a,b,c){
  return a+b+c;
}

let pre = [100,200,300];
console.log(sum(...pre));

//ES2015 from method
function addMark(){
  let newArray = Array.from(arguments); //arguments는 내부 객체. 가변 인자를 받음.
  let newData = newArray.map(function(value){
    return value + "!";
  });
  
  console.log(newData);
}

addMark(1,2,3,4,5,6,7);


인프런 "모던 자바스크립트(javascript) 개발을 위한 ES6 강좌"를 정리한 내용입니다.

+ Recent posts