[javascript]화살표함수란? 화살표 함수(() => {})는 함수를 간단하게 표현할 수 있는 ES6문법입니다. 일반 javascript(function ())과 비슷한 방식으로 동작하지만 몇가지 분명한 차이점이 있습니다. 문법(Syntax) // (param1, param2, paramN) => expression // ES5 var add = function(x, y) { return x+y; } // ES6 let add = (x, y) => {return x+y}; 위의 예제에서 보시다시피, 표현법이 다르죠? Regular function(ES5)와 Arrow function(ES6)는 결과는 같은데 타이핑이 절반 가까이 줄어들었습니다. 보기에도 깔끔하구요 또한, 괄호를 생략할 수 있는 경우가 있어서 더 줄어들 수 있죠. in..
클로저 클로저는 자바스크립트의 고유 개념이 아니다. 함수를 일급 객체로 취급하는 함수형 프로그래밍언어에서 사용되는 중요한 특성이다. MDN에서는 "클러저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다"라고 설명한다. 자바스크립트는 렉시컬 스코프를 따르는 프로그래밍 언어이다. const x =1; function outerFunction(){ const x =10; function innerFunction(){ console.log(x) //10 } } → innerFunction에서 outerFunction에 있는 x에 접근이 가능하다. 중첩함수 inner의 상위스코프는 외부함수 outerFunction이기 때문이다. 다음은 inner에서 outer 변수에 접근이 불가능하다. const x =1; func..
생성자 함수 new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수를 말한다. 생성자 함수에 의해 생성된 객체를 인스턴스라고 한다. JS는 Object 생성자 함수 이외에도 String,Number,Boolean,Function,Array,Date,RegExp,Promise등의 빌트인 생성자 함수를 제공한다 //String 생성자 함수에 의한 String 객체 생성 const obj = new String('Park'); // String {"Park"} //Function 생성자 함수에 의한 Function 객체(함수) 생성 const func = new Function("x","return x-x"); // f anonymous(x) 생성자 함수에 의한 객체 생성 방식의 장점 생성자 함수에 의한 객체 생성..
썸네일 Prototype(프로토 타입) Prototype 프로토타입 자바스크립트에서 프로토 타입은 두 가지의 의미를 혼용해서 사용한다. 프로토타입의 두가지 의미 __proto__ : 상위에서 물려 받은 객체의 프로토타입에 대한 정보 prototype : 자신의 프로토타입 객체 즉, 하위로 물려줄 프로토타입의 정보 예시 정의한 Animal 함수의 __ proto __ 는 Amimal 객체를 생성할 때 사용될 원형프로토타입을 가르키고 있다. Animal 함수의 prototype은 Animal의 Prototype가르키고 있다. (두 가지 의미중 두 번째 ) 예시 2 생성한 cat 객체와 dog 객체의 __proto__(prototype link)은, cat 객체와 dog 객체를 생성한 프로토타입 객체를 가르키고 있습니다. 프로토타입 체인(Proto..
[Java Script]-클로저란? 클로저는 자바스크립트의 고유 개념이 아니다. 함수를 일급 객체로 취급하는 함수형 프로그래밍언어에서 사용되는 중요한 특성이다. MDN에서는 "클러저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다"라고 설명한다. 자바스크립트는 렉시컬 스코프를 따르는 프로그래밍 언어이다. const x =1; function outerFunction(){ const x =10; function innerFunction(){ console.log(x) //10 } }→ innerFunction에서 outerFunction에 있는 x에 접근이 가능하다. 중첩함수 inner의 상위스코프는 외부함수 outerFunction이기 때문이다. 다음은 inner에서 outer 변수에 접근이 불가능하다. const x =1; funct..
썸네일 [JavaScript]Form Data란? FromData란 ajax로 폼 전송을 가능하게 해주는 FormData 객체입니다. 보통은 Ajax로 폼(form 태그) 전송을 할 일이 거의 없습니다. 주로 JSON 구조로 "KEY-VALUE" (키와 값) 구조로 데이터를 전송합니다. 하지만, form전송이 필요한 경우가 있는데, 이미지를 ajax로 업로드할 때 필요합니다. 이미지는 base64, buffer, 2진 data 형식으로 서버로 전송해도 됩니다. 하지만 추천 드리는 방법은 input[type=file]을 사용해 form(폼)을 통해서 업로드를 하는 것 입니다. 보통, form을 제출하면 action 속성에 의해 지정한 페이지로 이동하면서 데이터를 전송합니다. ajax는 반대로 제출 버튼을 누르면 기본 폼 동작은 e.preventDefaul..