목록개발/Javascript (7)
HANA -J
공부한 블로그
1. 자바스크립트는 프로토타입 기반 객체지향 언어이다. 2. 프로토타입 기반 객체지향 언어는 클래스가 필요없는 객체지향 프로그래밍 언어이다. 3. ES5에서는 생성자 함수와 프로토타입을 통해 객체지향 언어의 상속을 구현할 수 있다. var Person = (function(){ //생성자 함수 function Person(name) { this.name = name; } //프로토타입 메서드 Person.prototype.sayHi = function(){ console.log(`Hi! My name is ${this.name}`); }; //생성자 함수 반환 return Person; }()); //인스턴스 생성 var me = new Person('Hana'); me.sayHi(); //Hi My n..
1. 암묵적 결합 전역변수 선언은 코드 어디서든 참조하고 할당할 수 있는 변수를 사용하겠다는 의미, 이는 모든 코드가 전역 변수를 참조하고 변경 할 수 있는 암묵적 결합을 허용하는 것이다. 변수의 유효범위가 크면 클수록 가독성은 나빠지고 의도치 않게 상태가 변경될 수 있는 위험성이 높아진다. 2. 긴 생명주기 전역변수는 생명주기가 길다. 따라서 메모리 리소스도 오랜 가간 소비한다. 특히 var키워드는 변수의 중복선언을 허용하므로 생명 주기가 긴 전역 변수는 변수의 이름이 중복될 가능성이 있다. 변수 이름이 증복되면 의도치 않은 재할당이 이뤄진다. 3. 스코프 체인 상에서 종점에 존재 전역 변수는 스코프 체인상에서 종점에 존재. 변수를 검색할 때 전역변수가 가장 마지막에 검색된다. 따라서 검색속도가 가장느..
Node.js에서 require()함수는 일반적으로 외부의 모듈을 불러올 때 사용한다. // require()함수의 실행 구조 var require = (function(src){ //line 1 -> src를 받음 var fileAsStr = readFile(src) //line 2 -> src파일을 읽어 fileAsStr에 할당 var module.exports = {} //line 3 -> module.export에 빈 객체 할당 eval(fileAsStr) //line 4 -> fileAsStr을 eval함 return module.exports //line 5 -> 리턴함 })() > eval 코드 : 빌트인 전역 함수인 eval함수에 인수로 전달되어 실행되는 소스코드. => eval실행 컨텍스..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EdjAB/btrl1XbFf5E/GDKsMe4Xdrnn1zKMXQ2cx1/img.png)
함수는 함수 정의를 통해 생성한다 fucntion add(x,y){ return x+y; } 2. 함수는 함수 정의만 으로 실행되는 것이 아니다! ⇒ 인수를 매개변수를 통해 함수에 전달하면서 함수의 실행을 명시적으로 지시해야한다. const result = add(2,5); 3. 함수를 사용하는 이유 함수는 객체타입의 값이다. ⇒ 따라서 이름(식별자)을 붙일수 있다. ⇒ 이름을 잘 붙이면 코드의 가독성을 향상 시킨다. ⇒ 유지보수가 쉽고, 코드의 신뢰성을 높인다. 4.함수 리터럴 함수는 객체타입의 값이다. 따라서 함수도 함수 리터럴로 생성할 수 있다. 함수 리터럴은 function키워드, 함수이름, 매개변수 목록, 함수 몸체로 구성된다. 일반 객체는 호출할 수 없지만 함수는 호출할 수 있다. //변수에 ..
11. 타입변환 - 명시적 타입변환 //문자열 타입 변환 String(1); // "1" String(true) //"true" (false).toString(); // "false" //숫자 타입 Number('3'); //3 Number(true); // 1 Number(false);//0 parseInt('10.3'); // 10.3 //불리언 타입 Boolean('hello'); // true Boolean(''); // false Boolean(Null);//false Boolean({});//true Boolean([]);// true - 암묵적 타입변환 //문자열타입 '10'+2 //'102' 0+'' //"0" [10,11]+'' //"10,11" //숫자타입 5*'10' //50 +'' ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FqTR5/btrlCpNtjmr/eV2Gb5NOPjUcYdzQoDs28k/img.jpg)
> 책을 읽고서 내가 정리하지 못했던 개념이나 계속 까먹는 개념위주(키워드위주)로 순서없이 정리할 예정이다. 꾸준히 정리하는 것이 목표이다. 1. 프로그래밍 언어? 프로그래밍언어를 사용해 프로그램을 작성하면 그것을 컴퓨터가 이해할수 있는 기계어로 변환한다. 프로그래밍언어는 구문과 의미의 조합으로 표현한다. 2. 프로그래밍이란? 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환 후, 그 흐름을 제어하는 것. 작성된 코드는 해결방안의 구체적인 구현물이다. 요구사항이 실현(문제가 해결)되어야 그 코드는 의미가 있다! 3. 렌더링이란? HTML, CSS, 자바스크립트로 작성된 문서를 해석해서 브라우저에 시각적으로 출력하는 것을 말한다. 4. SSR(Server Side Rendering) ? 서..