본문 바로가기

Programming/JavaScript132

[ 모던 자바스크립트 스터디 ] 스프레드 문법 스프레드 문법 ... 은 ES6에서 도입되었고, 하나로 뭉쳐있는 여러 값들의 집합을 펼쳐 개별적인 값들의 목록으로 만든다. 스프레드 문법은 이터러블들만(Array, String, Map, ... ) 사용 가능하다. console.log(...[1, 2, 3]); // 1 2 3 console.log(...'Hello'); // H e l l o 스프레드 문법의 결과는 값이 아니고 값들의 목록이다. 따라서 아래와 같이 변수에 할당할 수 없다는 것을 알아둬야한다. const list = ...[1, 2, 3]; // SyntaxError: Unexpected token ... 함수 호출문의 인수 목록에서 사용하는 경우 const arr = [1, 2, 3]; const max = Math.max(arr); .. 2022. 10. 25.
[ 모던 자바스크립트 스터디 ] Symbol 자바스크립트가 ECMAScript로 표준화된 이래로 자바스크립트는 6개 타입(문자열, 숫자, 불리언, undefined, null, 객체 타입)이 있었다. Symbol 은 ES6에서 도입된 7번째 데이터 타입으로 변경 불가능한 원시 타입 값이다. 이 심벌 값은 다른 값과 중복되지 않는 유일무이한 값이다. 주로 충돌 위험이 없는 유일한 프로퍼티 키를 만들기 위해 사용된다. 심벌 값의 생성 Symbol 함수 심벌 값은 Symbol 함수를 호출해 생성한다. const mySymbol = Symbol(); console.log(typeof mySymbol); // symbol // 심벌 값은 외부로 노출되지않기때문에 확인할 수 없음 console.log(mySymbol); // Symbol() 생성자 함수로 객.. 2022. 10. 22.
[ 모던 자바스크립트 스터디 ] String 표준 빌트인 객체인 String은 원시타입 문자열을 다룰 때 유용한 프로퍼티와 메서드를 제공한다. String 생성자 함수 String은 new 연산자와 함께 호출해 String 인스턴스를 생성할 수 있다. String 생성자 함수에 인수를 전달하지않고 new 연산자와 함께 호출하면 [[StringData]] 내부 슬롯에 빈 문자열을 할당한 String 래퍼 객체를 생성한다. String 래퍼 객체는 배열과 마찬가지로 length 프로퍼티와 인덱스를 나타내는 숫자 형식의 문자열을 프로퍼티키로, 각 문자를 프로퍼티 값으로 갖는 유사 배열 객체이면서 이터러블이다. length 프로퍼티 문자열의 문자 개수를 반환한다. 'Hello'.length; // 5 String 메서드 String 객체의 메서드는 언제나.. 2022. 10. 22.
[ 모던 자바스크립트 스터디 ] 자주 사용하는 정규표현식 (아이디 사용가능, 이메일 정규표현식, 핸드폰 번호, 특수문자 표함여부) 이전 포스팅에서 다뤘던 정규표현식의 연장선으로 자주 쓸 것 같은 표현식들 기록해둔다. // 특정 단어로 시작하는지 검사 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'; // 알파벳 대소문자 또는 숫자로 시작하고 끝.. 2022. 10. 22.