흔한 객체지향 언어에서의 this this는 Java와 같은 객체지향 언어에서 주로 이 인스턴스(즉, 자신)를 가리키기 위해 사용한다. 아래 코드와 같이. class Person { private String name; Person(String name) { this.name = name; } } 위 예제는 Java에서의 this의 용례를 보여주기 위한 코드이다. Java에서 this는 주로 매개변수와 인스턴스 자신의 프로퍼티(멤버) 변수의 이름이 같을 경우 이를 구분하기 위해 사용한다. JavaScript에서의 this 그러나, JavaScript에서의 this는 함수 호출을 어떻게 하느냐(선언이 아님!!)에 따라 다른 객체들이 바인딩된다. this는 기본적으로 전역객체를 참조한다. 전역 함수는 물론이..
관련 포스트 JavaScript ECMAScript란? Arrow Function의 특징 function 표현에 비해 구문이 짧다. 자신의 this, arguments를 바인딩하지 않는다. 항상 익명 함수로만 사용된다. 생성자로서 사용할 수 없다. Arrow Function 사용하기 매개변수가 없을 때 const func = () => { ... } 매개변수가 1개일 때 const func1 = i => { ... } // 소괄호의 지정 불필요! const func2 = (i) => { ... } // 소괄호 지정해도 무관! 매개변수가 2개 이상일 때 const func = (x, y) => { ... } 함수 Body const func = i => { return i * i; } 한 줄의 구문만 있는..
var var는 ES6 등장 이전에 사용되던 키워드이며, 변수를 생성할 때 앞에 붙여서 변수임을 명시합니다. 그러나 이는 개발에 있어서 엄청 큰 단점을 가지고 있어 현재에는 거의 사용하지 않습니다. (사용하면 안됩니다..) 먼저 아래 코드를 봅시다. var a = 123; console.log(a); // 123 var a = 567; console.log(a); // 567 a가 2번 선언되었음에도 불구하고, 오류는 발생하지 않았습니다. 만약 방대한 프로젝트를 개발한다면 똑같은 이름의 변수를 몇 번이나 사용해도 오류는 발생하지 않으니, 로직 상의 오류는 빈번해질 것이고 그 오류를 발견하기는 또 굉장히 어렵게 될 것입니다. 그런데, 왜 이런 현상이 나타나는 것일까요? 그 이유는 바로 Hosting(호이스..
ECMAScript란? ECMA International이라는 정보통신 비영리 표준화 기구에서 정의한 스크립트 언어에 대한 '사양'입니다. 스크립트 언어로서 준수해여 하는 규칙, 지침들을 규정합니다. ECMAScript vs JavaScript? JavaScript는 ECMAScript의 사양을 준수하는 스크립트 언어입니다. 즉, JavaScript는 ECMAScript의 사양을 따라 제작된 '언어'이며, 우리는 이 '언어'를 이용해 스크립트 코딩을 할 수 있는 것입니다. ECMAScript 6 === ES6란? ES6은 ECMAScript의 여섯 번째 릴리즈라고 생각하시면 됩니다. 기존의 콜백 지옥과 같은 불편했던 부분들을 상당 부분 개선하여 내놓은 표준으로,..
기존의 forEach() 배열 전체를 돌며 해당 배열의 요소에 어떠한 작업을 수행할 수 있는 메소드이다. 사용법 arr.forEach((element, index, arr) => { 작업 }); (return은 undefined) 예시 let arr = [1, 2, 3]; let arr2 = []; arr.forEach((element, index, arr) => { console.log('현재 값은 ' + element + '이며, 인덱스는 ' + index + '입니다.'); // A arr2.push(element * index); // B element *= 2; /* 현재 값은 1이며, 인덱스는 0입니다. 현재 값은 2이며, 인덱스는 1입니다. 현재 값..