JavaScript 개체: 3부 in 연산자 및 for...in 문

이전 부분에서 우리는 점과 대괄호 표기법에 대해 논의했습니다. 이제 객체에서 사용되는 in 연산자와 for..in 문에 대해 논의하겠습니다.

먼저 연산자에서 찾고 있는 키가 객체에 있는지 아니면 프로토타입 체인에 있는지 찾는 데 사용됩니다. 예를 들어 자세히 살펴보겠습니다.

in 연산자의 구문은 key in object 입니다. key는 속성 키 이름을 나타내는 문자열 또는 기호이고, object는 in 연산자를 실행하는 개체 이름을 나타냅니다.

let admin = {
    fname: "kiran",
    lname: "raj",
    email: "[email protected]",
    admin: true,
    greet: function(){
       console.log(`Hello ${this. name}`);
    }
}

console.log("lname" in admin); // Output: true
console.log("fn" in admin);    // Output: false  


위의 코드에는 몇 가지 속성과 메서드가 있는 개체 admin이 포함되어 있습니다. 마지막 두 줄은 in 연산자가 작동하는 모습을 보여줍니다. "lname" in admin 코드에서 lname이 admin 개체의 키인지 확인하고 있습니다. object에 lname이 있는 속성이 있기 때문에 코드는 true를 반환합니다. 확인"fn" in admin하면 admin 개체에 fn이라는 이름의 키가 없기 때문에 false를 반환합니다. 정수 값을 제외하고 키를 따옴표로 묶는 것을 기억하십시오. 코드console.log("greet" in admin)는 콘솔에서 true로 인쇄됩니다.

예를 하나 더 보자

let name = {
    fullname :{
    fname: "kiran",
    lname: "raj",
    },
    email: "[email protected]",
}

console.log("fname" in name);          // Output : false
console.log("fname" in name.fullname); // Output : true


이제 코드 조각을 사용하여 for..in 문을 살펴보겠습니다. 그 전에 for..in 문은 문자열이거나 문자열로 변환될 수 있는 키로 속성을 반복하며 기호 키는 무시됩니다.

let admin = {
    fname: "kiran",
    lname: "raj",
    email: "[email protected]",
    admin: true,
    greet: function(){
       console.log(`Hello ${this. name}`);
    }
}

for (key in admin){
    console.log(`key is ${key} and value is ${admin[key]}`);
}


산출

key is fname and value is kiran
key is lname and value is raj
key is email and value is kiranr@gmail.com
key is admin and value is true
key is greet and value is function(){
    console.log(`Hello ${this. name}`); }


여기에서 for..in 문을 사용하여 개체 관리자에게 for..in 문의 구문은 다음과 같습니다.

for (variable in object)
  statement


변수는 각 반복에서 다른 속성 키 이름을 가져옵니다. 이 경우에는 fname, lname, email, admin and greet 입니다. 객체는 반복해야 하는 객체 이름을 나타냅니다. 문은 각 반복에서 실행됩니다.

기억하십시오: for...in 문은 객체의 열거 가능하고 Symbol이 아닌 속성에 대해서만 반복합니다. 또한 상속된 열거 가능한 속성을 반복합니다.

좋은 웹페이지 즐겨찾기