@ this
모든 실행 컨텍스트(모든 함수)에 대해 생성되는 특수 변수
현재 작업중인 개체에 대한 참조
Context-Based Value
Constructor & Class Method
function showName() {
console.log(this.name);
}
const user = {
name: 'Alice',
showName: showName
};
user.showName(); // 'Alice' - 'this' refers to 'user'
showName(); // undefined or global object name - 'this' refers to global object
@ arguments
객체는 함수 내에서 액세스할 수 있는 배열과 유사한 객체
해당 함수에 전달된 인수의 값을 포함
특징
function sum() {
let total = 0;
for(let i = 0; i < arguments.length; i++) {
total += arguments[i];
}
return total;
}
console.log(sum(1, 2, 3)); // 6
@ this
생성자에서 호출하는
개체에 대한 참조가 필요
또는컨텍스트를 조작할 때 사용
@ arguments
전달된 모든 인수의 배열과 같은 표현
이 필요한 함수
특히인수의 수를 알 수 없거나 가변적인 경우
에 사용
But
spread/rest parameters 및 화살표 함수와 같은
ES6 기능을 사용하면 'arguments' 직접 사용이 줄어듬