let arr = Array(n).fill().map((v,i)=>{return i+1}) //n에 필요한 배열 개수 //return을 i+1으로 해주면 1부터 배열에 담을 수 있음. //i로 하면 0부터 한 번씩 필요할 때가 있는데 자꾸 까먹어서 적어둔다. //ex let arr = Array(10).fill().map((v,i)=>{return i+1}) console.log(arr)//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new Set([ iterable ]) Set()은 모든 값을 하나씩만 중복되지 않게 모아주는 Collection객체라고 한다. let arr = [1,2,2,3,4,4,5]; let newCollection = new Set(arr); let newArr = [...newCollection]; console.log(newCollection); //{1, 2, 3, 4, 5} console.log(newArr); //[1, 2, 3, 4, 5] if(arr.length !== newCollection.size) console.log('중복있음'); //중복있음 위의 예시처럼 arr.length와 newCollection.size를 비교하거나 Set()으로 만든 Collection객체를 다시 배열로 바꾸어..
앞서 적은 객체지향의 개념 포스트에서 상속의 개념은 부모의 공통된 프로퍼티(속성)와 메서드를 상속받을 수 있고, 자식의 개별 프로퍼티와 메서드를 추가할 수 있는 것이라 했다. 프로토타입 체인이란 이러한 상속 관계에서 자식 요소를 이용해 메서드를 사용하려 할 때, 그것이 자식이 가지고 있는 메서드가 아닐 때 그 메서드를 부모 class의 프로토타입에서 찾는 것을 말한다. 예시: let arr = [1]; arr.push(2); console.log(arr) //[1,2] //이 상황에서 우리가 arr에 push()기능을 추가하지 않았음에도 push()를 사용할 수 있는건 //프로토타입 체인을 이용해 //arr의 부모 class인 Array의 prototype에서 push()를 찾아왔기 때문이다. //콘솔에..
코드스테이츠 강의자료 외 유튜버 코딩애플님의 영상을 참고하며 공부했는데 프로토타입을 '유전자'라고 생각하면 이해가 쉬워진다고 하셔서 그렇게 해보기로 했다. 프로토타입: 객체를 생성하면 생기는, 메서드를 저장하는 공간. //ES5 문법 function Rabbit(){ this.명칭= '토끼'; this.개체수= 10; this.우리= 'A'; } //class에 food 추가 Rabbit.prototype.먹이 = '당근'; let 토깽이 = new Rabbit(); 위에 적은 내용과 같이 Rabbit.prototype.먹이 로 class에 먹이를 추가하고 콘솔에 찍어보면 아래와 같은 결과를 볼 수 있다. Rabbit.prototype.먹이는 부모인 class Rabbit에게만 요소를 추가시켰기 때문에 ..
객체 지향 프로그래밍 (Object Oriented Programming) : 코드의 복잡성을 낮추기 위해 연관된 함수들을 묶어 정리, 사용하는 것 객체 지향 프로그래밍 주요 개념 캡슐화 추상화 상속 다형성 캡슐화 : 데이터와 기능을 하나로 묶어 정리하는 것. 하나의 속성이 가지는 다양한 기능을 하나로 모아 이 속성이 어떤 것인지 전체적으로 파악할 수 있게끔 함. 재사용성 높음. -은닉화: 내부 데이터, 구현 등은 숨기고 외부에서 사용하는 메서드만 노출. 추상화 : 지하철 노선도처럼 현실의 복잡성을 단순화시켜 소프트웨어적으로 표현하는 것. 즉 조금 더 단순한 상위 분류로 올라가 틀을 만들고 그 아래 필요에 따라 사용할 수 있도록 하는 것. (강아지 -> 말티즈/닥스훈트...). 사용자의 입장에서 꼭 필요..
공부하다가 클래스를 한 줄로 명확하게 정리한 문장을 보았다. class는 object 뽑는 기계일 뿐 출처: https://www.youtube.com/watch?v=dHrI-_xq1Vo 이 문장 보고 한참을 웃었던...ㅋㅋㅋㅋ 클래스를 이보다 완벽하고 간결하게 정의한 문장이 있을까 싶어 적어놓는다. 그리고 저 뽑혀나온, class로부터 생성된 object가 instance다. 동물원의 동물을 파악하기 위한 코딩을 한다고 치자. 하드코딩하면 아래처럼 될 것이다. //하드코딩 let 토끼 = { 명칭: 토끼, 개체수: 10, 우리: A } let 사자 = { 명칭: 사자, 개체수: 2, 우리: B } let 기린 = { 명칭: 기린, 개체수: 5, 우리: C } ... 양이 많아지면 많아질수록 코드 짜기..