이 글은 js의 유형 감지 방법 4가지를 소개합니다. 참고할 만한 가치가 있으니 도움이 필요한 분들에게 도움이 되길 바랍니다.
가장 쓸데없는 방법부터 가장 멋진 방법까지의 순서는 다음과 같습니다. typeof --> instanceof --> toString
1. 감지 개체 유형이 너무 모호합니다. 객체형과 배열형 모두 객체를 반환하므로 이 방법은 쓰레기지만 매우 실용적이고 강력합니다
2.constructor
인스턴스 객체의 생성자(instance object.constructor)가 생성자를 반환하므로 유형을 구분할 수 있습니다.
var str = 'abc'; var num = 100; var arr = new Array(); var date = new Date(); alert(str.constructor); alert(num.constructor); alert(arr.constructor); alert(date.constructor);
3.instanceof
객체가 생성자(클래스)의 인스턴스인지 확인합니다. 이 방법은 인스턴스 개체만 감지할 수 있다는 점에 유의하세요. 부울 값 반환
var str=new String('abc'); var num=new Number(100); var arr=new Array(); var date=new Date(); alert(str instanceof String); alert(num instanceof Number); alert(arr instanceof Array); alert(date instanceof Date); alert(str instanceof Object);
4.toString()
이 방법은 강력합니다. 16진수와 문자열을 모두 변환할 수 있어 매우 효율적입니다.
console.log(Object.prototype.toString.call(5).slice(8,-1)); console.log(Object.prototype.toString.call('abc').slice(8,-1)); console.log(Object.prototype.toString.call(true).slice(8,-1)); console.log(Object.prototype.toString.call(function(){}).slice(8,-1)); console.log(Object.prototype.toString.call([]).slice(8,-1)); console.log(Object.prototype.toString.call({}).slice(8,-1)); console.log(Object.prototype.toString.call(/\d/g).slice(8,-1)); console.log(Object.prototype.toString.call(new Date).slice(8,-1)); console.log(Object.prototype.toString.call(null).slice(8,-1)); console.log(Object.prototype.toString.call(undefined).slice(8,-1)); console.log(Object.prototype.toString.call(Math).slice(8,-1));
// Number // String // Boolean // Function // Array // Object // RegExp // Date // Null // Undefined // Math
관련 권장 사항:
js 데이터 유형 감지 4가지 방법Javascript isArray 배열 유형 감지 기능_javascript 기술JavaScript의 데이터 유형 감지 방법 요약위 내용은 js(코드)의 네 가지 유형 감지 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!