라벨이 ES6인 게시물 표시

Spring boot - ajax 통신시 발생하는 문제 - SOP(Same Origin Policy) Feat. Synology NAS

이미지
우선, SOP가 뭐냐? wiki 백과 왈 ~ In  computing , the  same-origin policy  is an important concept in the web application  security model . Under the policy, a  web browser  permits scripts contained in a first web page to access data in a second web page, but only if both web pages have the same  origin .  same-origin policy는 웹어플리케이션 보안 모델에서 중요한 개념이라고 한다. 웹 브라우저는 첫 번째 웹 페이지에 포함 된 스크립트가 두 번째 웹 페이지의 데이터에 접근하는 것을 허용하지만 두 웹페이지 모두 동일한 출처 를 갖는 경우에만 허용된다고 한다. 그렇다면 , 동일한 출처가 뭐냐? 프로토콜/호스트/포트 가 동일한가 라고 한다. 예를들어, http://abc.dfg.com/temp/index.html 과 동일한 출처를 알아보자. http://abc.dfg.com/temp/login.html    =>  동일한 출처. http://abc.dfg.com/temp2/fake.html   =>  동일한 출처. https://abc.dfg.com/temp/real.html    =>  프로토콜 이 다르다. 따라서 동일한 출처가 아니다. http://abc.dfe.com:123/temp/isReal.html   => 포트 가 다르다. 따라서 동일한 출처가 아니다. http://dfe.abc.com/temp/good.html   =>    호스트 가 다르다.  ...

ECMAScript6 - Object

이미지
Object에 대해서 공부해 본 것,, 1. 같은 키를 사용하는 경우 나중에 작성된 키값으로 대체된다. 2. Object에 function 작성의 차이 es5, es6 3-1. 프로퍼티 디스크립터 - Object 'book' 프로퍼티에 대해서 아래와 같은 속성을 포함하여 get, set 속성을 설정 할 수 있다. 3-2. get, set 속성 ==> ES5 get, set 속성으로 getter 와  setter를 정희 3-3. ES6에서 getter와 setter 선언 형태 4. Object.is()     ===           :  값과 값 타입을 모두 비교     ==             :  값 타입은 비교하지 않고 값만 비교     Object.is() :  값과 값 타입을 모두 비교    === , Object.is() 차이점은    +0 과 -0을 비교할 경우 ===는 true,  Object.is()는 false를 반환    NaN 과 NaN을 비교할 경우 === false, Object.is()는 true를 반환 5. assign(): 오브젝트 프로퍼티 복사  파라메터들은 enumerable 오브젝트여야 한다. null, undefined의 경우 프로퍼티 값으로만 복사가 가능하다. assign()의 필요성 let dup = sports; 의 경우 얕은 복사가 발생한다. dup과 sports는 같은 object를 바라보는 문제가 발생한다. dup의 프로퍼티 값을 변경할 경우 sports의 프로퍼티 값에도 영향을 끼친다. 이러한 문제를 해결하기 위해서 as...

ECMAScript6 - Operation

이미지
프로퍼티 이름 조합 문자열 조합 변수 값과 문자열 조합 디스트럭처링과 프로퍼티 이름 조합 Default Value 디폴트 값 적용 순서 Default 파라미터 파라미터 디스트럭처링 for-of Array 와 String NodeList 반복 디스트럭처링 for-of아 for-in의 차이 for-of Object 열거와 거듭 제곱 연산자

ECMAScript6 - DeStructuring

이미지
간단히 말해서, 변수에 분할 할당이다. four가 undefined라는 점 다차원 분할 할당도 가능하다는 점 ,를 사용해서 인덱스를 건너뛰고 할당, spread 연산자를 사용하여 할당 Object에도 분할 할당이 가능하다. Key에도 Value에도 함수의 파라미터로도 사용이 가능하다.

ECMAScript6 - Spread

이미지
Spread 연산자는 이터러블 오브젝트의 엘리먼트를 분리하여 전개한다. 전개한 결과를 변수에 할당하거나 함수의 파라미터로 사용할 수 있다. 1. Array 오브젝트 2. String 오브젝트 3. 함수의 파라미터로 사용 ...rest 파라미터 Array-like Array는 아니지만 Array처럼 사용할 수 있는 Object 오브젝트를 Array-like라고 한다. ES6 스펙에서 사용하는 공식 용어. key값이 0부터 시작해서 1씩 증가하고 length 프로퍼티가 있어야한다. 둘 중 하나라도 만족하지 않으면 Array-like가 아니다. ...rest파라미터와 Arguments Argument 는 function 키워드로 함수를 정의 했을 때 사용이 가능하다. get(1,2,3)으로 호출했을 때, 호출받는 함수의 arguments에 1,2,3이 설정된다. arguments도 Array-lik e이므로 for()문으로 전개가 가능하다. 따라서 Array 오브젝트와 메서드를 사용이 불가능하다. 단점  - 함수안의 코드를 보아야 arguments의 사용 여부와 사용 부분을 알 수 있어 코드 가    독성이 떨어진다. 많은 코드를 디버깅하거나 소스 코드를 리팩토링할 때 부담이 된다. ...rest 파라미터는 arrow function 으로 함수를 정의 했을 때 사용이 가능하다. ...rest 파라미터는 Array 오브젝트로 이터러블 오브젝트이다. 따라서 Array 오브젝트의 메서드를 사용할 수 있다. 장점 - 함수안의 코드를 체크하지 않고 (one, ...rest) 형태만 보아도 rest 파라미터의 범위를 알 수 있다.