본문으로 바로가기

함축적인 표현들 - Arrow Function, Destructuring  Assignment

 

1. Arrow Function : 화살표 함수

화살표 함수(Arrow Function) 이란 기존 function 표현에 비해 짧아 코드 가독성이 좋다.

익명성을 띠며, 생성자로 사용할 수 없다.

 

🔻 기존 방식

let a = function() {
  console.log("function");
}
a();

 

🔻 Arrow Function 방식 (new!)

let a = () => {
  console.log("arrow function");
}
a();.

 

🔻 map함수에 적용

var elements = [
  'Hydrogen',
  'Helium',
  'Lithium',
  'Beryllium'
];

// 이 문장은 배열을 반환함: [8, 6, 7, 9]
elements.map(function(element) {
  return element.length;
});

// 위의 일반적인 함수 표현은 아래 화살표 함수로 쓸 수 있다.
elements.map((element) => {
  return element.length;
}); // [8, 6, 7, 9]

// 파라미터가 하나만 있을 때는 주변 괄호를 생략할 수 있다.
elements.map(element => {
  return element.length;
}); // [8, 6, 7, 9]

// 화살표 함수의 유일한 문장이 'return'일 때 'return'과
// 중괄호({})를 생략할 수 있다.
elements.map(element => element.length); // [8, 6, 7, 9]

 

2.  Destructuring Assignment : 구조 분해 할당

구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식이다.

 

//객체 
let blog = {
	owner : "noah",
	url : "noahlogs.tistory.com",
	getPost() { 
		console.log("ES6 문법 정리"); 
	}
};

 

🔻 기존 방식

//기존 할당 방식
let owner = blog.owner
let getPost = blog.getPost()

 

🔻 Destructuring Assignment 방식(new!)

//비구조 할당 방식
let { owner, getPost } = blog;  

// 반드시 딕셔너리(blog) 의 키 값과 이름이 같아야 함!

//함수에서 비구조 할당 방식으로 전달된 딕셔너리 값 꺼내기
let blogFunction = ({owner,url,getPost}) => {
	console.log(owner)
	console.log(url)
	console.log(getPost())
}

blogFunction(blog)

참고자료

- SpartaCodingClub 앱개발 종합반 강의

- MDN 문서

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Arrow_functions

 

화살표 함수 - JavaScript | MDN

화살표 함수 표현(arrow function expression)은 function 표현에 비해 구문이 짧고  자신의 this, arguments, super 또는 new.target을 바인딩 하지 않습니다. 화살표 함수는 항상 익명입니다. 이  함수 표현은 메

developer.mozilla.org

 

 

반응형

'개발 > 기타' 카테고리의 다른 글

CSS 파일이 변경 후 갱신 적용이 안될 때 해결법  (2) 2020.05.30