[ 모던 자바스크립트 스터디 ] String
·
Archive/Develop
표준 빌트인 객체인 String은 원시타입 문자열을 다룰 때 유용한 프로퍼티와 메서드를 제공한다. String 생성자 함수 String은 new 연산자와 함께 호출해 String 인스턴스를 생성할 수 있다. String 생성자 함수에 인수를 전달하지않고 new 연산자와 함께 호출하면 [[StringData]] 내부 슬롯에 빈 문자열을 할당한 String 래퍼 객체를 생성한다. String 래퍼 객체는 배열과 마찬가지로 length 프로퍼티와 인덱스를 나타내는 숫자 형식의 문자열을 프로퍼티키로, 각 문자를 프로퍼티 값으로 갖는 유사 배열 객체이면서 이터러블이다. length 프로퍼티 문자열의 문자 개수를 반환한다. 'Hello'.length; // 5 String 메서드 String 객체의 메서드는 언제나..
[ 모던 자바스크립트 스터디 ] 자주 사용하는 정규표현식 (아이디 사용가능, 이메일 정규표현식, 핸드폰 번호, 특수문자 표함여부)
·
Archive/Develop
이전 포스팅에서 다뤘던 정규표현식의 연장선으로 자주 쓸 것 같은 표현식들 기록해둔다. // 특정 단어로 시작하는지 검사 const url = 'https://google.com'; /^https?:\/\//.test(url); // 특정 단어로 끝나는지 검사 const url = 'https://google.com'; /com$/.test(url); // 숫자로만 이루어진 문자열인지 검사 const target = '12345'; /^\d+$/.test(target); // 하나 이상의 공백으로 시작하는지 검사 const target = 'HI!'; /^[\s]+/.test(target); // 아이디로 사용가능한지 검사 const id = 'abc123'; // 알파벳 대소문자 또는 숫자로 시작하고 끝..
[ 모던 자바스크립트 스터디 ] 정규 표현식
·
Archive/Develop
학교 다닐때 배웠던 기억이 새록새록 나는 것 같다. const tel = '010-1234-567팔'; const regExp = /^\d{3}-\d{4}-\d{4}$/; regExp.test(tel); // false 정규 표현식 생성 두가지 방법이 있다. 정규표현식 리터럴과 RegExp 생성자 함수를 사용하는 것이다. 일반적으로는 정규 표현식 리터럴을 사용한다. const target = 'Is this all there is?'; const regexp = /is/i; regexp.test(target); -> true 여기서 정규표현식의 /(슬래시) 뒤 i 는 대소문자를 구별하지 않고 검색하는 플래그이다. test 메서드는 target 문자열에 대해 정규표현식 regexp 패턴을 검색하여 매칭 결..
[ 모던 자바스크립트 스터디 ] 배열 평탄화 + 배열 고차 함수
·
Archive/Develop
배열 평탄화 ES10 에서 도입된 flat 메서드는 인수로 전달한 깊이만큼 재귀적으로 배열을 평탄화한다. [1, [2, 3, 4, 5]].flat(); // [1, 2, 3, 4, 5] [1, [2, [3, [4]]]].flat(Infinity); // [1, 2, 3, 4, 5] 인수로 평탄화할 깊이를 전달할 수 있는데, Infinity 를 넘기면 중첩 배열 모두를 평탄화 한다. 실제로 쓰일 일이 종종 있었던 것 같아 기록해 놓는다. 고차 함수는 함수를 인수로 전달받거나 함수를 반환하는 함수를 말한다. 고차 함수는 외부 상태의 변경이나 가변 데이터를 피하고 불변성을 지향하는 함수형 프로그래밍에 기반을 두고 있다. 특히 배열은 유용한 고차 함수를 제공한다. Array.prototype.sort sort ..