Home

0

OOP in javascript

prototype타 언어의 전통적인 상속은 상속을 구현하기 위해 많은 부수적인 것들을 고려해야 됐다. 반면에 자바스크립트의 상속은 prototypal inheritance로 좀 더 유연하고 직관적이다. 123456789101112131415161718192021222324var person = { firstname: 'Default',

0

Funtional programming

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152// 비함수형var arr1 = [1,2,3];console.log(arr1);var arr2 = [];for (var i=0; i<arr1.length; i++) {

0

call&apply&bind

자바스크립트 함수에는 앞서 언급한 code, name 외에도 call, apply, bind 라는 기본 메소드를 갖고 있다. 이 메소드들은 this 키워드를 조작해주는 역할을 한다. bind()12345678910111213141516171819202122var person = { firstname : 'John', lastname

0

Closure part2

공장에서 정해진 포멧에 따라 제품들을 생산하는 것처럼 팩토리패턴은 전체 로직을 담은 팩토리함수를 생성, 클로저를 활용해서 반복되는 인자를 기본값으로 하는 함수를 재정의 하고, 호출하는 방식이다. 123456789101112131415161718192021// factory functionfunction makeGreeting(language) {

0

Closure part1

12345678910111213141516//결과로 함수를 리턴 하는 함수function greet(whattosay) { return function(name) { console.log(whattosay + ' ' + name); }}greet('Hi')('Tony');//Hi Tony// gr

0

IIFE

12345678910111213141516171819//function statementfunction greet(name) { console.log('Hello ' + name); }greet('John); //Hello John//using a function expression var greetFunc = function(n

0

arguments & etc

Array as an Object12345678910111213141516171819202122// Dynamic typing 때문에 서로 다른 타입 요소로 가질 수 있음var arr = [ 1, false, { name: 'Tony', address: '111 Main St.' }, function(nam

0

this

자바스크립트에서 함수가 실행될 때마다 새로운 Execution context를 생성하고 각 Execution context 는 variable Environmnet, Outer Environment 그리고 this 를 생성한다.

0

call by Value by Reference

by Value 말 그대로 같은 ‘Value, 값’만 복사하고 각기 다른 메모리공간에 저장 따라서 a 나 b 의 값을 바꾼다고 해도 서로의 값에 영향을 주지 않는다 by Reference 메모리 상 해당 객체의 주소, reference를 복사하기 때문에 각기 다른 변수에 할당하더라도 모두 메모리상 같은 공간을 가르킨다.(해당 주소의 같은 메모리공간) 따라

0

Functions

자바스크립트에서 function, 함수는 특별한 property를 가진 객체이다. name : Optional, 익명도 가능 작성한 코드의 Reference code : 작성한 코드, invocable() 이라는 작성한 코드를 실행시키는 특성을 가지고 있다. 이 두가지 property를 통해 자바스크립트에서 함수는 다른 변수나 객체가 하는 모든 역할들