[TIL 19][JS] ES6 - 2

Mustache 🥸·2021년 4월 19일
0

Javascript

목록 보기
8/12
post-thumbnail

Iterate와 Number, String 타입의 메소드 중 ES6에서 추가된 것들을 정리해보았다.

Iterable

  • Iterable은 반복이라는 의미를 가지고 있다. iterable이라는 개념을 사용하면 어떤 객체이든간에 for of 반복문을 적용할 수 있다. 하지만 iteration을 할 수 있는 구조여야 한다. ex) [10, 20]은 가능하지만 10의 구조는 불가능하다
  • Iterable은 프로토콜에 따라 iteration을 수행한다.

Iterable Protocol

  • 순회를 하기 위해선 반복할 수 있는 구조여야하고 Symbol.iterator를 갖고 있어야 한다.
  • Iterable Protocol을 가지고 있는 대표적인 것
    - Array, Argument, String, TypedArray, Map, Set, ...
const list = [10, 20];
const obj = list[Symbol.iterator]();
console.log(obj.next()); // {value: 10, done:false}
console.log(obj.next()); // {value: 20, done:false}
console.log(obj.next()); // {value: undefined, done:true}
  • Iterator Object에 있는 next()를 사용하면 다음값을 확인한다. value엔 값이 들어가고, done의 boolean 상태에 따라 iteration이 끝났는지 확인할 수 있다.(true일 경우 끝)

Number

  • 자바스크립트에서는 정수와 실수를 구분하지 않는다
  • NaN : Not a Number

safe integer

  • 지수(e)를 사용하지 않고 나타낼 수 있는 값
  • number.MAX_SAFE_INTEGER: safe integer의 최대값
  • number.MIN_SAFE_INTEGER: safe integer의 최소값

method

isNaN()

  • NaN의 여부를 체크
  • Number.isNaN();

isInteger()

  • 정수이면 true, 아니면 false

isSafeInteger()

  • 매개변수가 safe integer이면 true 아니면 false

String

method

startWith()

const str = "abc";

console.log(str.startWith("a"))  // true
console.log(str.startWith("bc")) // false
console.log(str.startWith("bc", 1)) // true
  • 대상 문자열이 첫번째 파라미터 문자열로 시작하면 true 아니면 false
  • 두번째 파라미터는 index값을 정한다

endWith()

const str = "abc";

console.log(str.endWith("bc")) // true;
console.log(str.endWIth("ab")) // false;
  • startWith와 다르게 첫번째 파라미터에 넣은 문자열로 끝나면 true 아니면 false이다

repeat()

const str = "abc";

console.log(str.repeat(3)); // abcabcabc
  • 대상 문자열을 파라미터에 작성한 수만큼 복제한다

includes()

const str = "abc";

console.log(str.include("a")); // true
console.log(str.include(a)); // false
  • 대상 문자열에 첫번째 문자열이 포함되어있으면 true 아니면 false

padStart()

console.log("ABC".padStart(10, "123") // "1231231ABC"
console.log("ABCDE".padStart(2, "123") // "ABCDE"
  • 첫번 째 파라미터 값만큼 길이를 늘리고 늘어난 끝에 대상 문자열을 설정 후 앞의 남은 공간에 두번 째 파라미터를 채운다.
  • 전체 길이가 대상 문자열보다 작으면 길이를 줄이지 않고 대상 문자열을 반환한다.

padEnd()

console.log("ABC".padEnd(10, "123")) // "ABC1231231"
console.log("ABC".padEnd(6, "123")) // "ABC123"
  • padStart와 다르게 앞에서 채우는게 아닌 뒤에서 채운다.

trimStart()

const str= "  123";
console.log(str.trimStart()); /// "123"
  • 문자열 앞의 공백을 삭제한다.

trimEnd()

const str= "123   ";
console.log(str.trimEnd()); /// "123"
  • 문자열 뒤의 공백을 삭제한다.

출처

모던 자바스크립트: https://ko.javascript.info/iterable
러닝 자바스크립트: 서적

0개의 댓글