3.4.2 Object(), Function(), and RegExp()

jude·2022년 2월 5일
0

you don't know js

목록 보기
26/30
post-thumbnail

일반적으로 Object(), Function(), and RegExp() 생성자도 선택 사항이다(의도적인게 아니라면 사용하지 않는게 좋다).

var c = new Object();
c.foo = "bar";
c; // { foo: "bar" }

d = { foo: "bar" };
d; // { foo: "bar" }

var e = new Function( "a", "return a * 2;" );
var f = function(a) { return a * 2; }
function g(a) { return a * 2; }

var h = new RegExp( "^a+b+", "g" );
var i = /^a+b+/g;

new Object() 는 사실상 사용할 일이 없다.
프로퍼티를 하나씩 지정하지 말고 그냥 객체 리터럴로 한번에 지정하자.

Function 생성자는 매우 드물게 Function 함수의 인자나 내용 등을 동적으로 정의해야하는 경우 사용할 수 있다.( 매우 드물게... )

정규 표현식은 리터럴 형식( /^a+b+/g )으로 정의할 것을 적극 권장.
정규 표현식 리터럴은 구문이 쉽고, 성능상 이점(자바스크립트 엔진이 실행 전 정규 표현식을 미리 컴파일한 후 개시한다.)이 있다.


RegExp()는 정규 표현식 패턴을 동적으로 정의할 경우 의미 있다.

var name = "Kyle";
var namePattern = new RegExp( "\\b(?:" + name + ")+\\b", "ig" );

var matches = someText.match( namePattern );

사용할 땐 new RegExp("패턴", "플래그") 형식으로 사용하자.

profile
UI 화면 만드는걸 좋아하는 UI개발자입니다. 프론트엔드 개발 공부 중입니다. 공부한 부분을 블로그로 간략히 정리하는 편입니다.

0개의 댓글