10/22 자바스크립트 공부

자바스크립트 객체 프로퍼티와 메소드들

hasOwnProperty() : 특정 프로퍼티가 해당 객체에 존재하는지 검사한다. 해당 객체엫서 직접 서언된 프로퍼티만 검사하며 프로퍼티 이름이 같아도 상속받은건 false로 반환한다.

propertyIsEnumerable() : 특정 프로퍼티가 해당 객체에 존재하고 열기 가능한지 검사한다. 즉 hasOwnProperty가 TURE고 열거할 수 있는지 검사하는 역할을 하는 메소드다.

  • 열거할 수 있는 프로퍼티는 내부적으로 enumerable 플래그가 ture로 설정된 것이 대상이다. 이러한 프로퍼티는 for/in문으로 접근한다.

(Code)

var obj = {name:”김요섭”, age:27}

for(var i in obj){document write(i + “<br>”);

 

isPrototypeOf() : 특정 객체의 프로토타입 체인에 현재 객체가 존재하는지 검사한다.

isExtensible() : 객체에 새로운 프로퍼티를 추가 가능한지 여부를 반환한다.

참고로 perventExtension() 메소드가 사용된 객체는 새로운 프로퍼티 추가가 불가능하다.

toString() : 이 메소드를 호출한 객체의 문자 값을 반환한다.(이때 어떠한 인수도 전달받지 않는다.)

valueOf() : 특정 객체의 원시타입(primitive type)를 반환한다. 만약 원시타입이 값이 없는 객체라면 객체 자신을 반환한다.

getter & setter

getter : 특정 프로퍼티의 값을 받아오기 위한 메소드

setter : 특정 프로퍼티의 값을 설정하기 위한 메소드

  • 다시 강조 : 모든 자바스크립트 객체는 Object 객체와 Object,prototype 객체의 모든 프로퍼티를 상속받는다.

전역객체 :  자바스크립트에 미리 정의된 객체로 전역 프로퍼티나 전역함수를 담는 공간 역할을 한다.

래퍼(Wrapper)객체 : 삿자,문자열,Boolean 등 원시타입의 프로퍼티에 접근하려고 할 때 생성되는 임시 객체다.

표준 객체 : 다른 객체의 기초가 되는 핵심 객체로 Number, Math, Date, String, Array 객체가 있다.

Number 객체 : 보통 자바스크립트에서는 숫자 리터럴로 표현하나 Number 객체 생성이 가능하다. 이때 추가연산이 매우 많으므로 래퍼객체로만 사용한다.

 

숫자와 관련된 표현 : infinity, NaN, null, undifined

  • infinity : 숫자 타입으로 부울 값이 있다.(true를 가짐), 실제 표현은 무한대수다.
  • NaN : 숫자 타입이나 부울 값이 없다.(false를 가짐), 실제 표현은 NaN이다.
  • null : object로 부울 값이 없다.(false), 실제 표현은 0이 나온다.
  • undefined : 타입 자체가 선언이 안되어있다.(undefined 그 자체), 부울 값은 없다.(false), 실제 표현은 NaN이다(뭬야?)

number 관련 메소드

  • parseFloat / parseInt : 파싱한 문자열의 숫자부분을 실수/정수로 변환한다. 이때 띄어쓰기 등으로 나뉠 경우 제일 앞의 String 뭉치만 변환한다.
  • isNaN : 전달된 값을 확인하여 NaN인지 아닌지 확인한다.
  • isFinite : 전달된 값이 유한수인지 검사한다.
  • isInteger : 전달된 값이 정수인지 검사한다.
  • isSafeInteger : 전달된 값이 안전한 정수인지 검사한다.

안전한 정수는 IEEE 754 표준에서 정의한 64비트 부동소수정수로 정확히 표현되는 정수다. 범위는 2의 53제곱가 마이너스인 값부터 2의 53제곱까지다.

number.prototype 메소드

  • toExponential : 지수표기법(1.234e+1 이런식으로 표기한거)으로 반환한걸 문자열로 변환한다.
  • toFixed : 소수부분의 자릿수를 받아서 그 자릿수에 맞게 고정한 걸 문자열로 변환한다.
  • toPrecision : 가수와 소수부분을 합친 자릿수를 전달받은 값을 고정 후 문자열로 변환한다.
  • toString : Number 인스턴스의 값을 해당하는 진법으로 변환한 다음 문자열로 변환한다.
  • valueOf : Number 인스턴스가 가지고 있는 값을 반환한다.
  • Math객체 : 수학에서 자주 사용하는 상수/함수들을 미리 구현한 내장된 객체로 생성자가 존재하지 않는다!(중요), 따라서 인스턴스를 생성하지 않아도 사용할 수 있다.
  • Math메소드에는 min,nax,randim,round,floor,ceil,sin 등등이 있다. 참고로 웹브라우저마다 다른 값이 나올 수도 있으므로 정확도가 요구되는 작업에선 자제해야 한다.
  • Date객체 : newDate(), newDate(“날짜를 나타내는 문자열”), newDate(“밀리초”), newDate(년,월,일,시,분,초,밀리초) 식으로 초기화가 가능하다. 단 객체 생성시 어떠한 인수도 전달하지 않으면 현재날짜,시간으로 Date 객체가 생성되니 주의해야 한다.
  • Date를 사용할 시 자바스크립트에서는 ISO방식(YYYY-MM-DD THH:MM:SS), Long 날짜 방식(MMM.DD.YYY – 이때 MMM은 영문으로 축약되어 표시됨), Full 날짜 방식(그대로 서술) 방법이 있다.
  • Date메소드에는 getDate(일자), getDay(요일), getMonth(월), getFullYear(연도의 4비트로 이루어진 숫자), getHours(현재 시각), getMilliseconds(밀리초), getSeconds(초), getTime(1970년 1월 1일 이후 누적된 시간을 숫자로 환산한 것) 등이 있다.

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.