JavaScript 코드를 작성할 때 typeof와 instanceof 두 연산자가 때때로 사용되므로 반드시 사용해야 합니다. 하지만! 이를 사용할 때 원하는 결과를 직접 얻는 것은 항상 어렵습니다. 일반적으로 "이 두 연산자는 아마도 JavaScript의 가장 큰 디자인 결함일 것입니다. 왜냐하면 원하는 결과를 얻는 것이 거의 불가능하기 때문입니다"
typeof
설명: typeof는 표현식의 데이터 유형 문자열을 반환하며, 반환 결과는 숫자, 부울, 문자열, 객체, 정의되지 않음, 함수를 포함한 js의 기본 데이터 유형입니다.
설명으로 볼 때 문제가 없는 것 같습니다.
다음 코드는 숫자 변수를 작성하고 typeof 이후의 결과는 "number"입니다.
var a = 1; .log( typeof(a)); //=>number
console.log(typeof(a)); //=>object
하지만! 문제는 typeof가 호출되기 때문에 변수가 값을 사용하여 직접 생성되었거나 유형 생성자를 사용하여 생성되었는지 여부에 관계없이 변수의 유형을 정확하게 반환해야 한다는 것입니다. 내가 당신을 또 무엇에 이용해야 합니까?
다음의 경우:
var b = new Number(1);
정확한 유형 정보는 Object.prototype에 정의된 toString 메서드를 사용하여 얻은 변수의 내부 속성 [[Class]] 값에 저장됩니다.
유형 정보 가져오기:
var b = new Number(1);
console.log(Object.prototype.toString.call(a))
console.log(Object.prototype.toString. call(b ));
[객체 번호]
var b = new; 번호(1);
console.log( Object.prototype.toString.call(a).slice(8,-1))
console.log(Object.prototype.toString.call(b). Slice(8,-1));
Number
Number
원하는 결과입니다.
더 나은 사용을 위해 변수가 특정 유형인지 확인하는 방법을 캡슐화합니다.
var clas = Object.prototype.toString.call(obj).slice(8, -1)
return obj !== un Defined && obj !== null && clas === type;
}
var b1="hello";
var b2=new String("hello")
var c1=[1,2,3]; =new Array(1 ,2,3);
console.log("a1의 유형:" typeof(a1))
console.log("a2의 유형:" typeof(a2)); console.log(" b1의 유형:" typeof(b1));
console.log("b2의 유형:" typeof(b2))
console.log("c1의 유형:" typeof(c1)) ;
console .log("c2's typeof:" typeof(c2));
출력:
a1의 typeof:number
a2의 typeof:object
b1의 typeof:string
b2의 typeof :object
c1의 typeof:object
c2의 typeof:object
우리가 사용하는 새로 생성된 함수는 다음과 같습니다.
console.log("a1은 숫자:" is(a1,"Number"))
console.log("a2는 숫자:" is(a2,"Number"))
console .log( "b1은 문자열입니다:" is(b1,"String"));
console.log("b2는 문자열입니다:" is(b2,"String"))
console.log(" c1은 배열입니다:" is(c1,"Array"));
console.log("c2는 배열입니다:" is(c2,"Array"));
출력:
a1은 숫자입니다: true
a2는 숫자:true
b1은 문자열:true
b2는 문자열:true
c1은 배열:true
c2는 배열:true
참고: typeof 실제 사용은 변수가 정의되었는지 또는 값이 할당되었는지 감지하는 것입니다.
instanceof
설명: 개체가 특정 데이터 유형인지 또는 변수가 개체의 인스턴스인지 확인합니다.
instanceof 연산자는 두 개의 내장 유형 변수를 비교할 때 무력하며 결과에도 만족하지 못할 것입니다.
console.log("abc" instanceof String ); / / false
console.log("abc" instanceof Object); // false
console.log(new String("abc") instanceof String) // true
console.log( new String("abc")instanceofObject); // true
사용자 정의 개체를 비교할 때만 관계를 정확하게 반영합니다.
function Person() {}
function Man( ) {}
Man.prototype = new Person();
console.log(new Man()instanceofMan); // true
console.log(new Man()instanceofPerson) ; // 참

instanceof的作用是判断一个对象是否是某个类的实例,或者是否实现了某个接口。instanceof是一个用于检查对象是否是指定类型的运算符。instanceof运算符使用场景:1、类型检查:可以用来判断一个对象的具体类型,以便根据不同类型执行不同的逻辑;2、接口判断:可以用来判断一个对象是否实现了某个接口,以便根据接口的定义调用相应的方法;3、向下转型等等。

在不同的shell中,使用’!’符号的大多数Linux命令用法可能会有所不同。虽然我提供的示例通常在bashshell中使用,但其他一些Linuxshell可能具有不同的实现,或者可能根本不支持某些对’!’符号的使用。让我们深入了解Linux命令中’!’符号的令人惊奇和神秘的用法。1、使用命令编号从历史记录中运行命令你可能不知道的是,你可以从历史命令中运行一个命令(已经执行过的命令)。首先,通过运行’history’命令找到命令的编号。linuxmi@linuxmi:~/www.linuxmi.

概念1、该运算符用于操作对象的例子,检查对象是否为特定类型(类型或接口类型)。格式2、如果计算器左侧变量所指的对象是操作器右侧类或接口的对象,则结果是真实的。(Objectreferencevariable)instanceof(class/interfacetype)实例packagecom.verify_instanceof;publicclassTestInstanceOf{publicstaticvoidmain(String[]args){//下面四行代码用来证明:instanceof

sql in操作符使用:1、单列匹配,可以使用IN操作符匹配一个列中的多个值;2、多列匹配,IN操作符也可以用于匹配多个列的值;3、子查询,IN操作符也可以与子查询一起使用,子查询是一个嵌套在主查询中的查询语句。

模等于操作符(%)在PHP中是一个非常常用的运算符,用于计算两个数相除的余数。在本文中,我们将深入了解模等于操作符的用法,并提供具体的代码示例帮助读者更好地理解。首先,让我们看一个简单的例子,假设我们需要计算一个数除以另一个数的余数:$a=10;$b=3;$remainder=$a%$b;echo"10除以3的余数是:&

在Java中,instanceof是一个二元运算符,用于检查一个对象是否是一个类的实例,或者是一个类的子类的实例,其语法形式为“object instanceof class”,其中,object是一个对象引用,class是一个类名或者接口名。

在使用instanceof运算符检查对象的类型时,如果结果为true,表示对象是指定类型的实例。但是,编译器并不会自动将对象转换为指定类型,因此需要进行强制类型转换。强制类型转换是将一个对象从一种类型转换为另一种类型的操作。在使用instanceof运算符后,如果确定对象是指定类型的实例,并且希望以该类型进行操作,就需要进行强制类型转换。

在之前的PHP版本中,如果我们没有定义一个变量,直接使用它会导致Undefined variable的错误。但是,在PHP7中,我们可以使用一些新功能来避免这个问题的发生。这些新功能包括两个新的操作符,即:?->和??。它们可以分别解决两种不同类型的问题。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
