본문 바로가기

ES63

[javascript] ES6 클래스와 Prototype / 왜 Object instanceof Function은 true인가 ES6 Class와 Prototype #dev 자바스크립트는 프로토타입 기반 객체지향 언어다. 프토로 타입 기반이므로 클래스가 없고, 따라서 상속 개념이 존재하지 않는다. ES5까지는 프로토타입 체인과 클로저 등으로 상속이나 캡슐화 등을 흉내내어 구현해왔다 프로토타입 프로토타입은 프로토타입 링크와 프로토타입 오브젝트로 구성된다. 프로토타입 객체 객체는 언제나 함수로부터 생성된디. 객체 뿐만 아니라 함수와 array도 모두 함수로 장의되어 있다. function CreateItem(){}; const NewItem = new CreateItem(); // 함수를 통한 객체 생성 const obj = {}; //다음과 같이 객체를 선언하는 것은 const obj = new Object(); // Object.. 2019. 11. 9.
[Javascript] ES6, let vs const, 호이스팅과 객체 리터럴, 디스트럭쳐링 기존 자바스크립트의 특징 함수 레벨 스코프 함수의 코드 블록만을 스코프로 인정하기 때문에 함수 외부에서 생성한 변수는 모두 전역 변수로 취급한다. 변수 호이스팅 변수를 선언하기 이전에 참조 가능하다. 위와 같은 특징은 변수의 유효 범위가 너무 커지기 때문에 에러의 발생 가능성을 높인다. 대부분의 프로그래밍 언어는 블록 레벨 스코프(if문, for문을 포함한 모든 코드 블록을 포함해 그 안에 작성된 모든 변수는 지역 변수로 생각된다. ) 인 반면 자바스크립트는 함수 레벨 스코프이기 때문에 함수 내에서 선언된 변수만 지역 변수에 해당한다. var example = 123; console.log(example); { var example = 456; } console.log(example); 위 코드를 실행시.. 2019. 9. 20.
[javascript] ES6 rest 파라미터와 Spread Syntax(전개 구문) REST 파라미터 Rest 파라미터는 매개변수 이름 앞에 세개의 점을 붙여 정의한 매개변수를 의미한다. Rest 파라미터의 특징은 특정 인수의 갯수를 지정할 필요가 없이 들어온 인수를 배열로 바꿔 전달받을 수 있다는 점이다. function example(...rest){ console.log(rest); } example(1,2,3,4,5,6); 함수에 전달된 인수들은 순서대로 파라미터와 rest 파라미터에 할당된다. function example(param1, param2, ...rest){ console.log(param1); console.log(param2); console.log(rest); } example(1,2,3,4,5,6); 또한 ES6 문법 중 하나인 화살표 함수에는 함수 객체의 a.. 2019. 9. 6.