자바스크립트 in
연산자는 객체의 멤버의 존재 유무를 검사하며, 결과를 true
, false
로 반환합니다. "멤버명" in 객체명
형태로 멤버명은 따옴표 사이에 위치해야 합니다.
자바스크립트 in 연산자로 객체 멤버 검사
in
연산자는 객체안에 속성이나 메서드와 같은 멤버가 존재하는지 검사할 때 사용합니다. 원하는 멤버명이 존재하면 true
를 반환하고, 없으면 false
를 반환합니다.
이 때 유의점은 "멤버명" in 객체명
형태와 같이 선택할 속성명이나 메서드명은 따옴표 사이에 위치해야 합니다.
<script>
//stock 객체 생성 및 멤버 설정
var stock =
{
name : "samsung",
pbr : 1.2,
};
//멤버명 name 존재 확인
document.write( ("name" in stock) + "<br>" );
//멤버명 price 존재 확인
document.write( ("price" in stock) + "<br>" );
</script>
결과
true
false
in 연산자로 반복문에서 객체 범위 지정
in
연산자는 반복문으로 객체 멤버를 출력할 때 객체명의 범위를 지정하는 역할을 합니다.
어떤 객체로부터 반복문을 실행할 것인지 선택할 때 in
연산자로 객체명의 범위를 고르는 예제입니다.
<script>
//생성자 함수 선언
function Stock ( name, price, pbr, per, roe )
{
this.name = name;
this.price = price;
this.pbr = pbr;
this.per = per;
this.roe = roe;
}
//객체 생성 및 데이터 삽입
var amorepacific = new Stock ( "아모레퍼시픽", 200500, 3.13, 41.66, 0.09 );
var ncsoft = new Stock ( "엔씨소프트", 449500, 3.51, 21.63, 0.16 );
var naver = new Stock ( "네이버", 131000, 4.20, 23.89, 0.21 )
//엔씨소프트 멤버 출력시 in 연산자 사용
for ( var num in ncsoft )
{
document.write ( num + " : " + ncsoft[num] + "<br>" );
}
</script>
결과
name : 엔씨소프트
price : 449500
pbr : 3.51
per : 21.63
roe : 0.16
반복문에서 변수의 범위를 in ncsoft를 사용했기 때문에 객체명이 ncsoft인 값의 멤버들만 출력이 됩니다.