목록javascript (4)
공부혜옹
Java, C++과 같은 클래스기반 언어들은 객체 생성 이전에 클래스를 정의하고 이를 통해 객체(인스턴스)를 생성한다. 이와달리 자바스크립트는 프로토타입 기반 객체지향 프로그래밍 언어이다. 따라서 프로토타입을 잘 이해하는 것이 중요하다. (ES6 에서 Class문법이 추가 되었지만 우리가 흔히 아는 class가 아닌 prototype을 기반으로 만들어졌다) 객체생성원리 객체는 생성자를 통해 생성된다. 생성자는 새로 생성된 객체를 초기화 하는 역할을 한다. 정해진틀을(생성자 함수) 기계에 넣어(new 연산자) 여러개 찍어낸다고 이해하면 편리하다. function Example() {}; //생성자 함수 var obj1 = new Example(); //생성자 함수를 이용해 생성한 객체1 var obj2 =..
나는 Java를 먼저 배워서 JS에서의 this또한 당연히 Java와 같겠거니 생각했었다. 때문에 이부분의 개념은 넘어가도 되겠거니 했으나...크나큰 착각이었다. Java에서의 this Java에서의 this는 객체 자신(self)을 가리키는 참조변수로, this가 객체 자신에 대한 참조 값을 가지고 있다는 뜻이다. 주로 매개변수와 객체 자신이 가지고 있는 멤버변수명이 같을 경우 이를 구분하기 위해서 사용된다. public Class Car { private String name; // a public Person(String name) { //b this.name = name; //this.a = b; } } JavaScript에서의 this 자바스크립트의 경우 함수 호출 방식에 의해 this에 바인딩..
let & const 대부분의 프로그래밍 언어는 블록 레벨 스코프(Block-level scope)를 따르지만 자바스크립트는 함수 레벨 스코프(Function-level scope)를 따른다. 함수 레벨 스코프(Function-level scope) 함수 내부에서 선언한 변수는 지역 변수이며 함수 외부에서 선언한 변수는 모두 전역 변수이다. 블록 레벨 스코프(Block-level scope) 모든 코드 블록(함수, if 문, for 문, while 문, try/catch 문 등) 내에서 선언된 변수는 코드 블록 내에서만 유효하며 코드 블록 외부에서는 참조할 수 없다. 즉, 코드 블록 내부에서 선언한 변수는 지역 변수이다. let과 const 키워드 도입배경 사용이 편리하다는 장점이 있지만 전역 변수는 유..
React란? : 화면을 만들기 위한 자바스크립트 라이브러리 -> 웹페이지를 쉽게 만들 수 있게 도와주는 녀석! 라이브러리란? : 자주쓰는 기능들을 모아놓은 것 React의 장점 : 1. Virtual DOM을 사용해 빠른 업데이트와 렌더링 속도 최근의 웹페이지들은 사용자들과 상호작용이 굉장히 많이 이루어진다. 버튼을 클릭하거나 누를때, 입력을 할때 등과 같은 상호작용으로 인해 페이지에 업데이트가 수시로 이루어지게 되는데 이때 웹페이지 전체를 업데이트하는 것은 성능면에서 굉장히 비용이 많이 발생하는, 비효율적인 작업이다. 이러한 부분을 React에서는 실제DOM(위 그림에선 Browser DOM)을 수정하는 것이 아닌, Virtual DOM을 사용하여 수정하여 실제DOM에서는 수정이 필요했던 최소한의 부..