js 각종 데이터 형식의 몇 가지 방법 및 특수 상황 검사

1932 단어
js 의 변 수 는 느슨 한 형식 이기 때문에 변수 데이터 형식 을 검사 하 는 방법 이 필요 합 니 다.
1. type: of 연산 자
type: of 를 사용 하여 검 측 하 는 것 은 기본 적 인 방법 입 니 다. type: of 연산 자가 되 돌 릴 수 있 는 값 은 다음 과 같 습 니 다.
  • 'undefined' - 정의 되 지 않 음
  • 'boolean' - 불 값
  • 'string' - 문자열
  • 'number' - 수치
  • 'object' - 대상 또는 null
  • 'function' - 함수
  • 다음 테스트:
    테스트
    출력
    typeof 233
    number
    typeof null
    object
    typeof {}
    object
    typeof []
    ** object**
    typeof (function(){})
    function
    typeof undefined
    undefined
    typeof '233'
    string
    typeof true
    boolean
    2. instanceof
    type: of 연산 자 에 존재 하 는 결함 은 object 의 유형 을 구체 적 으로 판단 할 수 없습니다.이에 대해 instanceof 를 제기 합 니 다.인 스 턴 스 of 는 인 스 턴 스 가 하나의 클래스 에 속 하 는 지 확인 하 는 데 사 용 됩 니 다.다음 검사:
    테스트
    출력
    [] instanceof Array
    true
    /^$/ instanceof RegExp
    true
    [] instanceof Object
    true
    이런 방법 에 대해 저 는 유사 한 원리 constructor 를 사용 하여 검 측 할 수 있 습 니 다. 다음 과 같 습 니 다.
    테스트
    출력
    [].constructor === Array
    true
    [].constructor === Object
    false
    {}.constructor === Object
    true
    메모: 우리 constructor 는 인 스 턴 스 of 검 측 을 피 할 수 있 습 니 다. Object 를 사용 하 는 것 도 true 의 문제 입 니 다.
    3. Object.prototype.toString.call(value)
    위의 방법 은 우리 가 흔히 볼 수 있 는 것 이다. 아래 에 최근 에 알 게 된 새로운 방법 을 기록 하 자.Object. prototype. toString. call (value) 은 대상 의 원생 원형 확장 함수 로 데이터 형식 을 더욱 정확하게 구분 할 수 있 습 니 다.다음 과 같다.
    var   gettype=Object.prototype.toString
    gettype.call('233')        [object String]
    gettype.call(233)         [object Number]
    gettype.call(true)          [object Boolean]
    gettype.call(undefined)          [object Undefined]
    gettype.call(null)       [object Null]
    gettype.call({})        [object Object]
    gettype.call([])         [object Array]
    gettype.call(function(){})          [object Function]
    

    좋은 웹페이지 즐겨찾기