티스토리 뷰
function student(name, grade) {... ...}처럼 생성자 함수(constructor function)를 통하여 객체를 정의하여 사용할 수 있습니다. 하지만, 대개는 미리 정의되어 내장된 객체들만 사용하여도 훌륭한 프로그램을 만들어낼 수 있죠. 이름하여 내장객체라는 것이죠.
내장객체는 말그대로 이미 내장되어있기 때문에 그냥 갖다가 쓰면 되는 객체들이죠.
Date, Math, Array, Function ... ... 등등과 함께 언급하신 String 객체가 있습니다.
즉, function student(name, grade) 같은 생성자 함수를 만들지 않아도 된다는 얘기죠.
그런데, 이것들 종류에 따라 객체를 만드는 방법에 차이가 좀 있습니다.
today = new Date() 처럼 반드시 new 연산자를 사용하여 만들어야 되는 것이 있고,
오히려, new 연산자를 사용하면 안되는 것도 있고,
언급하신 String 객체처럼 new 연산자를 사용해도 되고, 안 해도 되는 것이 있죠.
new 연산자를 사용하지 않아도 된다는 얘기는 곧,
temp1.toLowerCase()
이렇게 할 수도 있고,
"Hello EveryOne".toLowerCase()
이렇게도 할 수 있다는 것이죠.
문자열의 길이가 길지 않으면 그냥 변수 없이 쓰는게 편하겠고,
문자열이 좀 길면 변수에 저장하여 사용하는 편이 좋지 않나 생각됩니다.
참고로, new 연산자를 사용하면 안되는 것이 있다고 언급했는데,
삼각함수, 지수함수, 로그함수 등등을 사용하기 위해 종종 쓰는 Math 객체의 경우가 그렇습니다.
new 연산자를 사용하면 오히려 에러가 발생합니다.
Math.sin(0.5)
Math.log(2)
처럼 Math 자체를 객체로 사용합니다.
그래서 Math 이놈은 따로 정적객체(static object)라고도 하죠.
출처 : 지식인
- 안내
- 궁금한 점을 댓글로 남겨주시면 답변해 드립니다.