분류 전체보기61 34. 이터러블 이터레이션 프로토콜 ES6에서 도입된 이터레이션 프로토콜은 순회 가능한 데이터 컬렉션(자료구조)을 만들기 위해 ECMAScript 사양에 정의하여 미리 약속한 규칙이다. ES6 이전의 순회 가능한 데이터 컬렉션, 즉 배열, 문자열, 유사 배열 객체, DOM 컬렉션 등은 통일된 규약 없이 각자 나름의 구조를 가지고 for 문, for...in 문, forEach 메서드 등 다양한 방법으로 순회할 수 있었다. ES6에서는 순회 가능한 데이터 컬렉션을 이터레이션 프로토콜을 준수하는 이터러블로 통일하여 for...of 문, 스프레드 문법, 배열 디스트럭쳐링 할당의 대상으로 사용할 수 있도록 일원화했다. 이터레이션 프로토콜에는 이터러블 프로토콜과 이터레이터 프로토콜이 있다. 이터러블 프로토콜: Well-Known.. 2022. 7. 28. 33. Symbol 심벌 심벌은 ES6에서 도입된 7번째 데이터 타입으로 변경 불가능한 원시 타입의 값이다. 심벌 값은 다른 값과 중복되지 않는 유일무이한 값이다. 따라서 주로 이름의 충돌 위험이 없는 유일한 프로퍼티 키를 만들기 위해 사용한다. 심벌은 중복되지 않는 상수 값을 생성하는 것은 물론 기존에 작성한 코드에 영향을 주지 않고 새로운 프로퍼티를 추가하기 위해, 즉 하위호환성을 보장하기 위해 도입되었다. 심벌 값의 생성 Symbol 함수 심벌 값은 Symbol 함수를 호출하여 생성한다. 다른 원시값은 리터럴 표기법으로 생성할 수 있지만 심벌 값은 Symbol 함수를 호출하여 생성해야 한다. 이때 생성된 심벌 값은 외부로 노출되지 않아 확인할 수 없으며, 다른 값과 절대 중복되지 않는 유일무이한 값이다. 심벌 함수는 .. 2022. 7. 28. 32. String 표준 빌트인 객체인 String은 원시 타입인 문자열을 다룰 때 유용한 프로퍼티와 메서드를 제공한다. String 생성자 함수 표준 빌트인 객체인 String 객체는 생성자 함수 객체다. 따라서 new 연산자와 함께 호출하여 String 인스턴스를 생성할 수 있다. String 생성자 함수에 인수를 전달하며 new 연산자와 함께 호출하면 [[StringData]] 내부 슬롯에 인수 문자열을 할당한 String 래퍼 객체를 생성한다. 인수 없이 생성하면 빈 문자열이 할당된다. 문자열과 불변성에서 살펴보았듯이 String 래퍼 객체는 배열과 마찬가지로 length 프로퍼티와 인덱스를 나타내는 숫자 형식의 문자열을 프로퍼티 키로, 각 문자를 프로퍼티 값으로 갖는 유사 배열 객체이면서 이터러블이다. 따라서 배열.. 2022. 7. 28. 31. RegExp 정규 표현식이란? 정규 표현식은 일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어다. 정규 표현식은 자바스크립트의 고유 문법이 아니며, 대부분의 프로그래밍 언어와 코드 에디터에 내장되어 있다. 정규 표현식은 문자열을 대상으로 패턴 매칭 기능을 제공한다. 패턴 매칭 기능이란 특정 패턴과 일치하는 문자열을 검색하거나 추출 또는 치환할 수 있는 기능을 말한다. 정규 표현식의 생성 정규 표현식 객체(RegExp 객체)를 생성하기 위해서는 정규 표현식 리터럴과 RegExp 생성자 함수를 사용할 수 있다. 정규 표현식 리터럴은 패턴과 플래그로 구성된다. RegExp 생성자 함수를 사용할때는 인수를 (pattern[, flags])와 같은 형태로 전달하여 RegExp 객체를 생성한다. 생성자 함수.. 2022. 7. 27. 30. Date 표준 빌트인 객체인 Date는 날짜와 시간(연, 월, 일, 시, 분, 초, 밀리초)을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수다. UCT는 국제 표준시를 말한다. KST는 한국 표준시로 UCT에 9시간을 더한 시간이다. 즉, KST는 UTC보다 9시간이 빠르다. 현재 날짜와 시간은 자바스크립트가 실행된 시스템의 시계에 의해 결정된다. Date 생성자 함수 Date 생성자 함수로 생성한 Date 객체는 내부적으로 날짜와 시간을 나타내는 정수값을 갖는다. 이 값은 1970년 1월 1일 00:00:00(UTC)을 기점으로 Date 객체가 나타내는 날짜와 시간까지의 밀리초를 나타낸다. Date 생성자 함수로 생성한 Date 객체는 기본적으로 현재 날짜와 시간을 나타내는 정수값을 가진다. 현재 날짜와.. 2022. 7. 27. 29. Math 표준 빌트인 객체인 Math는 수학적인 상수와 함수를 위한 프로퍼티와 메서드를 제공한다. Math는 생성자 함수가 아니다. 따라서 Math는 정적 프로퍼티와 정적 메서드만 제공한다. Math 프로퍼티 Math.PI 원주율 PI 값을 반환한다. Math 메서드 Math.abs 인수로 전달된 숫자의 절대값을 반환한다. 절대값은 반드시 0 또는 양수이어야 한다. Math.round 인수로 전달된 숫자의 소수점 이하를 반올림한 정수를 반환한다. Math.ceil 인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환한다. 소수점 이하를 올림하면 더 큰 정수가 된다. Math.floor 인수로 전달된 숫자의 소수점 이하를 내림한 정수를 반환한다. 소수점 이하를 내림하면 더 작은 정수가 된다. Math.sqrt 인.. 2022. 7. 27. 이전 1 2 3 4 5 6 7 8 ··· 11 다음