Prototype 자바스크립트에는 Prototype Link와 Prototype Object가 존재한다. 이를 통들어 Prototype이라고 한다. Prototype Object function Dog() {}; // 함수 var dogObj = new Dog(); // 함수로 객체를 생성 var obj = {}; // var obj = new Object(); 객체는 언제나 함수로 생성된다. 함수가 정의되면 Constructor 자격이 생긴다 Constructor 자격이 있어야만 new operator를 통해 객체를 만들어낼 수 있다. new는 함수만 쓸 수 있다. (즉 함수 -> Constructor -> new를 통해 객체 생성 가능) 함수가 정의되면 Prototype Object도 같이 생긴다.생..
A more efficient way is to set the prototypeto a new objectAdd the property numLegsand the two methods eat()and describe()to the prototypeof Dogby setting the prototypeto a new object.There is one crucial side effect of manually setting the prototypeto a new object. It erased the constructorproperty! To fix this, whenever a prototype is manually set to a new object, remember to define the constr..
ES7 'Helloooo'.includes('o'); // true const pets = ['cat', 'dog']; pets.includes('cat'); // true const sqaure = (x) => x**2 square(2); // 4 square(5); // 25 const cube = (x) => x**3 cube(3); // 27 ES8 .padStart() .padEnd() 'Turtle'.padStart(10); // " Turtle" 합쳐서 total 10 스페이스 'Turtle'.padEnd(10); // "Turtle " 합쳐서 total 10 스페이스 const fun = (a,b,c,d,) => { console.log(a); } fun(1,2,3,4,); // print..
let arr = [1, 2, 3, 4, 5]; let copyArr = [].concat(arr); arr[0] = 0; console.log(copyArr[0]) // 1(바뀌지 않음) primitive type이 immutable한 것은, 복사해오기 때문이다. 따라서 복사본을 수정해도 원본은 그대로 남아있게 된다. 반면 object, array는 단순히 복사하는 것이 아니라 주소를 참조하기 때문에 원본도 바뀌게 된다. 바뀌지 않게 하려면 primitve type이 하듯이 복사하는 방법을 사용한다. Shallow Copy let obj = {a: 1, b: 2, c: 3}; let clone = Object.assign({}, obj); let clone2 = {...obj}; obj.c = 5; c..
Currying - 하나의 패러미터만 받게끔 만드는 것 Compose - 뭐라 설명해야 할지.. // Avoding Side Effects, functional purity var a = 1;function b() { a = 2;} 함수는 작은 우주라고 생각하면 된다. 위 코드를 보면 함수 b가 함수 바깥에 영향을 끼치고 있는데 그것을 side effect라고 하고, 이것을 줄임으로써 functional purity를 획득할 수 있다. 이렇게 함으로써 'Deterministic'될 수 있는데 어떤 인풋을 넣더라도, 몇번을 시행하든, 리턴밸류가 항상 같다는 것이다. (console.log도 alert도 없고, undefined 되지도 않고, 항상 같은 밸류를 리턴) -> avoiding bug에 좋은 방법.
Test Method let testStr = "freeCodeCamp";let testRegex = /Code/;testRegex.test(testStr);// Returns true // 사이에 quote 없음, regex가 메소드 앞에 옴. var str = "The best things in life are free";var patt = new RegExp("e"); // 찾고자 하는 것을 아규먼트로 받을 때에 사용var res = patt.test(str); newRe = new RegExp('Fox','g') // Define a string. str1 = 'The Quick Brown Fox Jumps Over The Lazy Dog'; // Check whether regular expre..
- Total
- Today
- Yesterday
- linkedlist
- rxjs
- CSS
- jQuery
- react
- 깃
- youtube data api
- 자바
- c언어
- Session
- SQL
- JavaScript
- 리덕스
- oracle
- package.json
- Prefix Sums
- GIT
- 제네릭스
- 개발 공부
- Redux
- til
- Data Structure
- 인스턴스
- Java
- this
- Conflict
- useEffect
- 포인터 변수
- 알고리즘
- getter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |