javascript 정리

es6의 유용한 기능들

  • 보간표현식
//기존에는 문자열에 변수 값을 더할때 더하기연산자를 사용했다면
let name = 'sora';
console.log('my name is ' + name);

//보간표현식을 활용하면 좀더 편리하고 알아보기 쉽다.( ` 이렇게 생긴 백틱 안에 플레이스 홀더를 넣음 )
let name = 'sora';
console.log(`my name is ${name}`)
  • 나머지 매개변수 함수의 인자가 들어가는 부분에 …을 입력하면 그만큼의 인수를 배열로 받을 수 있다. …로 표현한 인자를 나머지 매게변수라고 한다.
function f(a, b, ...args) { // 1,2 다음의 매개변수를 배열로 받아라
    console.log(a, b, args); // 즉 args는 배열임
}

f(1,2,3,4,5,6); // 1 2 [3, 4, 5, 6]

//or

var sum = (...args) => {
    for(let i=0, s=0; i<args.length; i++) {
        s += args[i];
    }
}
sum(1,2,3,4,5);

기타

  • 객체 delete할때 주의점
//delete를 하면 객체 프로퍼티를 삭제할수 있다. 하지만 메모리에는 남으므로 undefined를 선언해서 치환해야 메모리에서도 삭제됨

const person = {
    firstName: "sora",
    lastName: "yun"
}

delete person.firstName;
person.firstName = undefined;

  • in연산자로 프로퍼티가 있는지 확인하기
const person = {
    firstName: "sora",
    lastName: "yun"
}

console.log("age" in person); //false
console.log("lastName" in person); //true

  • for/in 문

    객체안의 프로퍼티를 순회하는 반복문 / for (변수 in 객체표현식) 문장 / 객체표현식이 null 또는 undefined이면 빠져나옴

 let obj = {a:1, b:2, c:3};
 for (let p in obj) {
     console.log(`p = ${p}`);
 }
 
 /*
 p = a
 p = b
 p = c
 
 프로퍼티 값만 가져와서 p에 대입함
 따라서 프로퍼티값을 가져오려면 
 
 obj[p] 로 접근함
 
 */
 
  let obj = {a:1, b:2, c:3};
  for (let p in obj) {
      console.log(`obj.${p} = ${obj[p]}`);
  }
  
   /*
   obj.a = 1
   obj.b = 2
   obj.c = 3
   */
 

  • 즉시실행함수
//일반적인 익명함수
let f = function() {...}
f();

//즉시실행함수로 쓰면
(function() {...})();


//or
(function() {...}());

//인수를 넘길땐
(fuction(a,b) {...})(1,2);

//함수표현식 (함수실행결과를 변수에 할당함)
let x = (function() {...})();

//화살표함수의 즉시실행함수
(x => x*x)(3); // 9

  • undefined 체크하는 가장좋은 방법
 
 typeof x === 'undefined'