본문 바로가기

JavaScript53

[220107] this와 new 그리고 arrow function 목차 1. 객체와 this의 차이점 2. this로 객체만들기 3. this의 역할과 응용 4. class로 객체만들기 객체를 만드는 놀라운 기술을 배웠다! 이제 대량생산을 어떻게 쉽고 간단하게 만드는지 알아보자. 객체에 대해서 아래 블로그에 작성해놓았다. https://hancoco.tistory.com/23 [220104] 배열과 객체 / create:function(), 객체 안에 객체or배열 목차 1. 배열과 객체 2. 객체 안에 추가하기 3. 배열과 객체의 데이터타입 배열 (array) 과 객체 (object) 배열이랑 객체가 뭐더라 //배열 array // 배열명 = {값, 값, 값} let arr = [1, 2, 3]; //객체 obj.. hancoco.tistory.com 객체란 붕어빵을 .. 2022. 1. 7.
[220105] 메서드 (split, repeat, replace, repalceAll, includes, indexOf, substring, substr, concat, valueOf, slice, splice) 목차 1. 문자열을 다루는 메서드 오늘 수업은 감자특집이라고 하겠다. 수업을ㅋㅋㅋ 듣고는 있는데 하나도 이해를 못해서 그저 같이 흘러감ㅋㅋㅋㅋㅋㅋ 나는 말하는 감자지만 괜찮아!!!! 괜찮아!!!!! 나는 살아숨쉬는 감자니까 노력하면 나아진다!!! 메서드 특징만 잡자! 객체.함수() 행동하는 애들 -> 행동해서 어떤 것을 가져온다 -> 가져오는 어떤것은 어떤 데이터 타입인가? 이런 흐름을 알면 메서드를 사용할때 왜 리턴값을 알아야하는지, 어떤 데이터 타입에서 활동하는지 알아야하는지 알 수 있다. 문자열이 뭐더라? let str = "000-000-0000"; console.log(typeof(str)); //타입은 string이 나온다 console.log(str.length); //length가 10이 .. 2022. 1. 7.
[220107] 깊은복사, 얕은복사, spread문 목차 1. 저장할때 메모리의 변화 2. 깊은복사 3. 얕은복사 4. spread문 1. 빈 공간의 값은 서로 같을까? : {} == {} console.log(1==1) //true console.log({} == {}) //false //빈 공간이라 같아보이지만 객체는 만들때마다 새로운 값을 부여해서 다르다 //제품을 찍어낼때마다 생산넘버가 다른거라고 생각하자 let a = {} let b = {} console.log(a==b) //false //배열도 객체이므로 비교하면 false a = { name:'ingoo' } //ingoo라는 확실한 값으로 저장함 b = { name:'ingoo' } console.log(a.name === b.name) //true 2. 주소값 자체를 뜯어와서 참조를 해.. 2022. 1. 7.
[220106] forEach문. 차근차근 알아보기 목차 1. foreach로 for문을 대신하기 2. for문의 기본기능 3. for문을 응용하기 forEach로 for문을 대신해보자 function name() {} let newArr=[1,2,3] for(let i=0; i console.log(v)); //이게 forEach문을 사용한 문장 //뭐라는걸까. } forEach문의 형태 array.forEach( callback( currentvalue[, index[, array]])[, thisArg]) forEach 매개변수 callback : (필수) 각 요소에 대해 실행할 함수. 뒤에 따라오는 세가지 매개변수를 받는다 currentvalue : (필수) 처리할 현재 요소 index : (필수아님) 처리할 현재 요소의 인덱스 array : (필.. 2022. 1. 6.
[220105] Lv.2 피보나치 수열 / 메모이제이션으로 풀기 수업중에 피보나치 수열의 예제로 나왔던 문제. 꾸역꾸역 일단 풀음. 손에 익히는게 먼저야. 교수님 답변 let num=[]; //계산한 결과값 저장 //첫번재 원소값 1, 두번째 원소값 2 function fibo2(n){ //조건1 if(num[n] > 0) { return num[n]; //조건2 } else if(n===1 || n===2) { return num[n]=1; //조건1이랑 조건2는 중요도가 같아서 뒤바뀌어서 시간복잡도 상관 ㄴㄴ } else { return num[n] = fibo2(n-1) + fibo2(n-2); } } 이건 내가 문제를 한번 풀고 기억을 더듬어서 풀어본 방법 function solution(n) { let answer = []; //확률적으로 값이 0~2인것보다.. 2022. 1. 5.
[220105] for문, 이중for문(구구단, 별짓기), 재귀함수, 다이나믹 프로그래밍(피보나치, 메모이제이션) 목차 1. for문 2. 이중for문 3. 구구단만들기 4. 별짓기 5. 재귀함수 for ( 초기문; 조건문; 증강문) for문의 목표 : 내가 같은 코드를 몇번을 반복시킬 것인가 for(let i=1; i 2022. 1. 5.
[220104] 코테 Lv.1 / 행렬의 덧셈 문제인식 (더보기) 더보기 더보기 더보기 [[1,2],[2,3]] 이건뭐지 배열이 두겹이다. 뭐지 저건 뭐라고 부르지. 더블배열은 아닐테고. 구글링하니까 2차배열이라고 부른단다. 배열 선언 방법 : let arr = new Array(rows); 새로운 배열 선언 방법을 알았다. 변수명에 새로 생성하니까 new, 배열이니까 Array, 만들 개수를 (rows)에 넣는가 봄. 객체 안에 배열이나 객체를 넣을 수 있는데, 배열 안에도 배열을 넣을 수 있나보다! let arr = [1,2,3] arr[0]=1 2차원 배열 선언 방법 : let arr = new Array(rows, columns); 우선 이해를 해보자. [ [1,2], [2,3] ] 이란 배열 안에는 [1,2]랑 [2,3]이 있다. 저 배열 .. 2022. 1. 4.
[220104] 코테 Lv.1 / x만큼 간격이 있는 n개의 숫자 해결 : for문이랑 배열 사용 function solution(x, n) { let answer = []; //2,5 -> 2의 배수를 5개 만들어야함 for(let i=0; i(i+1)*v) /* - 요소를 n개 만드는 새 배열을 만들건데, - 그 안을 x로 채울거야. - 그 x에 하나씩 접근해서 함수처리 한 값으로 새 배열을 만들거야 - map(함수(처리할 현재 요소, 처리할 현재 요소의 인덱스, map()을 호출한 원본배열)) - 인덱스 0부터 하나씩 접근할때 바뀌는 인덱스가 i */ } solution(2,5); // {빈 요소, 빈 요소, 빈 요소, 빈 요소, 빈 요소} // {2, 2, 2, 2, 2} // {(0+1)*2, (1+1)*2, (2+1)*2, (3+1)*2, (4+1)*2} /.. 2022. 1. 4.
[220104] 배열과 객체 / create:function(), 객체 안에 객체or배열 목차 1. 배열과 객체 2. 객체 안에 추가하기 3. 배열과 객체의 데이터타입 배열 (array) 과 객체 (object) 배열이랑 객체가 뭐더라 //배열 array // 배열명 = {값, 값, 값} let arr = [1, 2, 3]; //객체 object //key = 값 이름 //value = 값 //객체명 = {key:value, key:value} let obj = {name:'Joo', age:29} 가장 큰 차이점은 값을 저장하는 방식. 쉽게 생각해보자면, 배열은 arr이란 아파트에 "100호에 1이 살고, 101호에 2가 살고, 103호에 3이 산다." 객체는 obj란 아파트에 "name이란 방에 'Joo'가 살고, age란 방에 29가 산다." 방호수로 기억하느냐, 유치원반처럼 개나리반,.. 2022. 1. 4.
[220204] 배열 array, length, typeof, push 목차 1. 배열 2. 배열의 주소 배열의 생성, 데이터 1개 넣기 : let arr = [ ]; 배열의 데이터 타입 알기 : typeof console.log(arr); console.log(typeof arr); //데이터 타입을 말해주는 typeof //object라고 나온다 let str = "글자형이다!!" console.log(str); console.log(typeof str); // 문자 글자형이므로 string이 나온다 배열에 데이터 2개 이상 넣기 arr=[10,20]; console.log(arr); // 컴퓨터가 배열을 새로 만들어서 // 빈 배열에 숫자 10, 20을 넣음 배열에 맨 끝에 데이터 추가하기 : push arr.push(103); console.log(arr); // 개.. 2022. 1. 4.