Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Tags
more
Archives
Today
Total
관리 메뉴

coding etude

200804 [Koans] 본문

Javascript TIL

200804 [Koans]

코코리니 2020. 8. 4. 23:39

essential 


map() : 배열 내의 모든 요소각각에 대하여 주어진 함수를 호출한 결과를 모아 

          새로운 배열을 반환. 



filtet() : 주어진 함수의 조건을 모두 통과하는 요소를 모아 

         새로운 배열을 반환. 



reduce() : 배열의 각 요소에 대해 주어진 함수를 실행하고 하나의 결과값을 반환

 // reduce 는 누적값, 현재값 중 하나를 가지고 시작할 수있고 초기값이 있을경우 

    초기값이 누적값이 되고 현재값이 첫번째 요소가 된다.[ ※ 초기값이 없다면 1번 인덱스에서 시작하고 0번 인덱스는 건나뜀.]

ex)

const array1 = [1, 2, 3, 4];

const reducer = (누적값, 현재값) //  1 + 2 + 3 + 4      output : 10 

(누적감 + 현재값)




forEach() : 주어진 배열의 요소 각 요소를 오름차순으로 한번씩 실행.

ex) for문과 같은 효과를 가지고 있다.

for (let i=0; i<items.length; i++) {
  copy.push(items[i]);
}
items.forEach(function(item){
  copy.push(item);


this : 전역객체를 참조하게 만든다.  

// 전역객체 : 함수를 호출할때 보통 window객체가 생성되는데 window 객체는 웹브라우저의 창이나 프레임을 나타내고 특정창을 window 객체로 참조할수 있다.

※결국 생성된 객체를 언제든지 참조 할수 있다는 이야기....

ex)참조에 따라 값이 달라진다. 함수 안에서 사용된다면 보편적으로 바로 직전의 this 값을 참조 한다.

var obj = {a: 'Custom'};


var a = 'Global';

function whatsThis() {
  return this.a; 
}
whatsThis();          // this는 'Global'.
whatsThis.call(obj);  // this는 'Custom'. 
whatsThis.apply(obj); // this는 'Custom'. 


every() : 주어진 배열안의 모든 요소가 주어진 판별 함수를 통과하는지 테스트 진행.

값은 true / false 값으로 반환.



some() : 배열안의 하나의 요소라도 주어진 판별 함수를 통과하는지 테스트 진행.

 // 배열의 값중 하나라도 true 라면 값은 true / 빈 배열 이거나 모두다 false 라면 값은 false 





Koans 


[array]


let multiTypeArray = [ 01'two'function () { return 3; }, 
value1: 4value2: 5 }, [67] ];


expect(multiTypeArray[3]()).toBe(3);


// 배열 안에 존재하는 함수값을 호출하면 함수의 리턴값이 반환 된다.

// dot notation 과 bracket notation의 사용법을 구별해서 정확히 기억하자!

// 배열에 값을 update 하는 방법을 햇갈리지 말것!

  ( arr.key=value / arr[key] = value)


.slice(index, length) : 시작값 , 종료값이지만 일단 이렇게 외워두자.,

// 시작값이 0 이면 0번째 부터 시작한다.

// 시작값이 음수이면 뒤에서 부터 음수만큼 의 값을 반환.

// 시작값이 > arr.length 라면 빈 배열을 반환.

// 종료값이 생략 되면  끝까지 반환 / 배열의 길이보다 크다면 끝까지 반환.

// push , pop, shift, unshift 의 기능을 기억해 두자! (배열에서만 사용)



[object]

// 객체의 key 값을 찾는 방법 ( obj.key / obj[key] ) 대,소 문자를 꼭 구분한다!!

// 객체는 함수를 요소로 갖을수 있고 key값을 호출 시 함수의 리턴값을 반한한다.

  ( obj.key(element) 로 value 값을 반환.)


DATE : 1970년 1월 1일 UTC(국제표준시) 00:00으로부터 지난 시간을 밀리초로 나타내는 유닉스 타임스탬프를 사용합니다.

// 쉽게 말해 국제표준시를 기준으로  시간을 시실시간으로 참조시켜 주는 instance



객체의 in 연산자

('key' in obj) 의 형식으로 사용 할 수 있으면 객체 내에 key 값이 있는지 검색해 

ture / false 값으로 반환.


new : 변수를 선언함에 있어 새로운 객체타입으로 선언한다.


function Car() {}
car1 = new Car();
car2 = new Car();

서로 다른 객체임으로 car1 === car2  // false




[const]

변수 선언 instance / const 로 변수 선언 시 값을 변경 할 수 없다.

하지만 값을 추가/ 삭제는 가능 하다.

const로  생성된 객체는 key값은 바꿀수 없지만 value 값은 변경이 가능하다.



[spread snytax]

전개 문법으로 배열/ 객체의 요소에 배열./객체의 값을 가지게 된다면 

... ( spread snytax) 를 사용하여 전개 시킬수 있다.


ex)

const spread = [42214212];

const max = Math.max(...spread);

const arr1 = [012];
    const arr2 = [345];
    const needConcat = [...arr1, ...arr2];
    expect(needConcat).toEqual([012345]);






기본적인 문법을 세밀하게 기억해 두자..




'Javascript TIL' 카테고리의 다른 글

200806 [자기 주도 개발 (TDD)]  (0) 2020.08.06
200806 [scope & closure]  (0) 2020.08.06
200803 [배열과 객체]  (0) 2020.08.03
200801 [문자열]  (0) 2020.08.01
200801 [반복문]  (0) 2020.08.01