티스토리 뷰
Arrow Function (화살표 함수)
- function 키워드가 없어도 함수를 만들 수 있음
- return을 사용하지 않아도 식을 계산한 값이 자동으로 변환
-> 이를 화살표(=>)를 사용하여 모든 함수 정의를 한줄로 끝냄
var lordify = firstName => '캔터베리의 ${firstName}'
//예전 방식
var lordify = function(firstName, land) {
if (!firstName) {
throw new Error('lordify에 이름을 넘겨야 합니다')
}
if (!land) {
throw new Error('영주에게는 영지가 있어야 합니다')
}
return '${land}의 ${firstName}'
}
//새로운 방식
var lordify = (firstName, land) => {
if (!firstName) {
throw new Error('lordify에 이름을 넘겨야 합니다')
}
if (!land) {
throw new Error('영주에게는 영지가 있어야 합니다')
}
return '${land}의 ${firstName}'
}
console.log(lordify("이계영", "맬버른")) //멜버른의 이계영
console.log(lordify("오현석")) //오류!
- this를 새로 바인딩 하지 않음
var gangwon = {
resorts: [
"용평", "평창", "강촌", "강릉", "홍천"
],
print: function(delay = 1000) {
setTimeout(function() {
console.log(this.resorts.join(","))
}, delay)
}
}
gangwon.print() //Cannot read property 'join' of undefined 오류 발생!
//수정
var gangwon = {
resorts: ["용평", "평창", "강촌", "강릉", "홍천"],
print: function(delay = 1000) {
setTimeout(() => {
console.log(this.resorts.join(","))
}, delay)
}
}
gangwon.print() //용평, 평창, 강촌, 강릉, 홍천
'LANGUAGE > JAVA SCRIPT' 카테고리의 다른 글
[JAVA SCRIPT] AJAX (0) | 2019.02.06 |
---|---|
[JAVA SCRIPT] CONST, LET, VAR (0) | 2018.12.15 |
[JAVA SCRIPT] DOM (0) | 2018.10.16 |
[JAVA SCRIPT] OBJECT - 객체 (0) | 2018.10.14 |
[JAVA SCRIPT] FUNCTION - 함수 (0) | 2018.10.11 |
댓글