JavaScript

in 연산자 - JavaScript

파란배개 2020. 11. 27. 22:25

in 연산자

명시된 속성이 명시된 객체에 존재하면 true를 반환한다.

구문 : 속성 in 객체명

 

// 배열
let trees = new Array("redwood", "bay", "cedar", "oak", "maple");
0 in trees         // true를 반환합니다.
3 in trees         // true를 반환합니다.
(1 + 2) in trees   // true를 반환합니다. 연산자 우선 순위에 의하여 이 구문의 괄호는 없어도 됩니다.
6 in trees         // false를 반환합니다.
"bay" in trees     // false를 반환합니다. 당신은 배열의 내용이 아닌, 인덱스 값을 명시하여야 합니다.
"length" in trees  // true를 반환합니다. length는 Array(배열) 객체의 속성입니다.

// 미리 정의된 객체
"PI" in Math       // true를 반환합니다.
"P" + "I" in Math  // true를 반환합니다.

// 사용자가 정의한 객체
let myCar = {company: "Lamborghini", model: "Lamborghini Veneno Roadster", year: 2014};
"company" in myCar // true를 반환합니다.
"model" in myCar   // true를 반환합니다.

 

String 생성자로 만들어진 문자열은 in 연산자 사용시 boolean 값을 반환하지만 문자열 리터럴로 만들어진 문자열은 오류가 나온다.

let color1 = new String("green");
"length" in color1 // true를 반환한다.

let color2 = "coral";
"length" in color2 // color2는 String 객체가 아니기에 오류가 나온다.