반응형

# 자바스크립트 학습

# true, false 를 반환하는 메소드

## every()

구분 데이터(값)
data 반복 대상
파라미터 콜백 함수
this로 참조할 오브젝트opt
반환 true, false
  • forEach() 메소드 처럼 시맨틱 접근을 한다.
  • 배열의 엘리먼트를 하나씩 읽어가면서 flase를 반환할 때까지 콜백 함수를 호출한다.
  • 즉, false를 반환하지 않으면 true를 반환한다.
var value = [20, 10, 30, 40];
var fn = function(el, index, all) {
	log(el);
    return el > 15;
};

var result = value.every(fn);
log("결과:", result);

=>
20
10
결과:flase
  • false가 되는 조건이 배열의 앞에 있을 때 효율성이 높다.

## some()

구분 데이터(값)
data 반복 대상
파라미터 콜백 함수
this로 참조할 오브젝트opt
반환 true, false
  • every() 메소드 처럼 시맨틱 접근을 한다.
  • 단, true를 반환할 때까지 콜백 함수를 호출한다. 즉, true가 반환되면 반복이 종료된다.
  • true를 반환하지 않으면 false를 반환한다.true가 되는 조건이 배열의 앞에 있을 때 효율성이 높다.
var value = [10, 20, 30, 40];
var fn = function(el, index, all) {
	log(el);
    return el > 15;
};
var result = value.some(fn);
log("결과:", result);

=>
10
20
결과:true

 

# 필터, 매핑

## filter()

구분 데이터(값)
data 반복 대상
파라미터 콜백 함수
this로 참조할 오브젝트opt
반환 [true일 때의 엘리먼트]
  • forEach() 메소드 처럼 시맨틱 접근을 한다.
  • 배열의 엘리먼트를 하나씩 읽어가면서 콜백 함수에서 true를 반환하면 현재 읽은 엘리먼트를 반환한다.
  • 조건에 맞는 엘리먼트를 추려낼 때 유용하다.
var value = [10, 20, 30, 40];
var fn = function(el, index, all) {
    return el > 15;
};
var result = value.filter(fn);
log("결과:", result);

=>
[20, 30, 40]

true가 하나도 없으면 빈 배열 반환.

## map()

구분 데이터(값)
data 반복 대상
파라미터 콜백 함수
this로 참조할 오브젝트opt
반환 [콜백 함수에서 반환한 엘리먼트]
  • forEach() 메소드 처럼 시맨틱 접근을 한다.
  • 배열의 엘리먼트를 하나씩 읽어가면서 콜백 함수에서 반환한 값을 새로운 배열에 첨부하여 반환한다.
var value = [10, 20, 30, 40];
var fn = function(el, index, all) {
    return el + this.add;
};
var point = {add: 100};
var result = value.map(fn, point);
log(result);

=>
[110, 120, 130]

 

# 반환 값을 파라미터 값으로 사용

## reduce()

구분 데이터(값)
data 반복 대상
파라미터 콜백 함수
초깃값opt
반환 콜백 함수에서 반환한 값
  • forEach() 메소드처럼 시맨틱 접근
  • 배열 끝까지 콜백 함수를 호출한다. 파라미터 작성 여부에 따라 처리가 다르다.
  • 콜백 함수만 작성한 경우(즉, 파라미터를 하나만 작성한 경우)
var value = [1, 3, 5, 7];
var fn = function(prev, curr, index, all) {
    log(prev + "," + curr);
    return prev + curr;
};
var result = value.reduce(fn);
log("결과:", result);

=>
1,3
4,5
9,7
결과:16

*reduce() 콜백 함수만 작성한 경우(즉, 파라미터를 하나만 작성한 경우)
처음 콜백 함수를 호출할 때
인덱스[0]의 값을 직전 값에 설정
인덱스[1]의 값을 현재 값에 설정
인덱스에 1을 설정

두 번째로 콜백 함수를 호출할 때
콜백 함수에서 반환된 값을 직전 값에 설정
인덱스[2]의 값을 현재 값에 설정
  • 두 번째 파라미터를 작성한 경우
var value = [1, 3, 5];
var fn = function(prev, curr, index, all) {
    log(prev + "," + curr);
    return prev + curr;
};
var result = value.reduce(fn, 7);
log("반환:", result);

=>
7,1
8,3
11,5
반환:16

*reduce() 두 번째 파라미터를 작성한 경우
처음 콜백 함수를 호출할 때
두 번째 파라미터 값을 직전 값에 설정
인덱스[0]의 값을 현재 값에 설정
인덱스에 0을 설정

두 번째로 콜백 함수를 호출할 때
콜백 함수에서 반환된 값을 직전 값에 설정
인덱스[1]의 값을 현재 값에 설정

## reduceRight()

구분 데이터(값)
data 반복 대상
파라미터 콜백 함수
초깃값opt
반환 콜백 함수에서 반환한 값
  • reduce()와 처리 방법이 같다.
  • 단, 배열 끝에서 앞으로 하나씩 읽어가면서 콜백 함수를 호출, 콜백 함수에서 반환한 값을 반환한다.
var value = [1, 3, 5];
var fn = function(prev, curr, index, all) {
    log(prev + "," + curr);
    return prev + curr;
};
var result = value.reduceRight(fn);
log("반환:", result);

=>
7,5
12,3
15,1
반환:16

 

# Boolean 오브젝트

## Boolean 오브젝트

  • 빌트인 오브젝트, true와 false로 처리한다.
  • 값이 있으면 true로 인식
  • false 인식의 기준
undefined
null
NaN
빈 문자열
숫자 타입 0
  • 숫자 값 변환의 기준
true를 1, false를 0으로 변환한다.

## Boolean 프로퍼티 리스트

이름 개요
new Boolean() 인스턴스 생성
Boolean 함수
Boolean() Boolean 타입으로 변환
Boolean.prototype
constructor 생성자
toString() true/false를 문자열로 반환
valueOf() 프리미티브 값 반환

## new Boolean()

구분 데이터(값)
파라미터
반환 생성한 Boolean
  • Boolean 인스턴스를 생성
  • 파라미터 값을 true 또는 false로 변환하여 프리미티브 값으로 설정한다.
var value = [undefined, null, NaN, 0, ""];
for (var k = 0; k < value.length; k++) {
	var obj = new Boolean(value[k]);
    log(obj + 1);
};

=>
1
1
1
1
1
  • 문자열이면서 값이 있으면 true로 변환한다.
var value = [12, "1", "0", "false"];
for (var k = 0; k < value.length; k++) {
	var obj = new Boolean(value[k]);
    log(obj + 1);
};

=>
2
2
2
2

## Boolean()

구분 데이터(값)
파라미터
반환 변환한 값
  • Boolean 값으로 변환
  • 인스턴스를 생성하지 않고 true 또는 false로 변환한다.
var value = [12, "1", "0", "false"];
for (var k = 0; k < value.length; k++) {
	log(Boolean(value[k]) + 1);
};

=>
2
2
2
2

## toString()

구분 데이터(값)
data 변환 대상
파라미터 사용하지 않음
반환 문자열로 변환한 값
  • data 위치의 true, false를 문자열로 변환 (즉, "true", "false"로 변환)

## valueOf()

구분 데이터(값)
object Boolean 인스턴스
파라미터 사용하지 않음
반환 true, false
  • Boolean 인스턴스의 프리미티브 값 반환 (즉, true 또는 false 반환)
var obj = new Boolean(3);
log(obj.valueOf());

=>
true
반응형

+ Recent posts