js 대상 속성 통과 점 (.) 과 괄호 ([]) 의 차이 점

1842 단어
1.0
javascript 접근 대상 속성 은 두 가지 방법 이 있 습 니 다. 첫 번 째 는 점 기호 법 이 고, 두 번 째 는 괄호 표시 법 입 니 다. 괄호 간 의 값 은 모든 표현 식 일 수 있 습 니 다.따라서 속성 이름 이 변수 에 저장 되면 괄호 표시 법 을 사용 할 수 있다.
javascript 에서 저 희 는 다음 과 같은 두 가지 방법 으로 대상 속성 에 접근 합 니 다.
  • 점 기호 -  foo.bar
  • 괄호 -  foo[someVar] 또는 foo["string"]
  • 그러나 두 번 째 상황 만 동적 접근 속성 을 허용 합 니 다:
    var foo = { pName1 : 1, pName2 : [1, {foo : bar }, 3] , ...}
    
    var name = "pName"
    var num  = 1;
    
    foo[name + num]; // 1
    
    // -- 
    
    var a = 2;
    var b = 1;
    var c = "foo";
    
    foo[name + a][b][c]; // bar

    따라서 변수 동적 접근 대상 속성 을 사용 하려 면 두 번 째 방법 인 '방 괄호 법' 을 사용 할 수 있 습 니 다. 다음 과 같 습 니 다.
    let foo = {
        bar: 'Hello World'
    };
    
    let prop = 'bar';
    
    foo[prop];

    2.0
    코드 의 양 을 줄 이기 위해 서 는 변수 이름 으로 대상 의 속성 을 충당 하여 호출 하기에 편리 하 다.
    대상 속성 일 때 두 가지 방식 으로 접근 합 니 다.하 나 는 점 (.) 연산 자 이 고, 하 나 는 중 괄호 ([]) 연산 자 이다.
    var p = {name:"Jack"}; 
    alert(p.name);//   
    alert(p['name']);//   

    1. 점 호 는 뒤의 연산 원 이 합 법 적 인 식별 자 (즉 합 법 적 인 변수 이름) 이 므 로 합 법 적 이지 않 은 것 은 사용 할 수 없습니다.
    2. 중 괄호 가 요구 하 는 것 은 하나의 문자열 이면 되 고 합 법 적 인 변수 이름 이 아 닙 니 다.예 를 들 어 4p 는 비합법적 인 변수 이름 (숫자 로 시작 하기 때 문) 이지 만 대상 속성 명 (전 제 는 문자열) 이 될 수 있 습 니 다.
    var p = { 
         "4p":"Jack", 
         "-3":"hello", 
          name:"Tom", 
          " ":"me", 
          "   ":"we"
            }; 
    
     alert(p.4p);//   ,       ,       
    
     alert(p. );//  ,  "me" 
    
     alert(p.   );//   ,       (" " " "      ) 
    
     alert(p["   "]);//  ,  "we",  " " " "     ,     []   
    
     alert(p['4p']);//  ,  "Jack" alert(p.name);//  ,  "Tom"
    
    

    좋은 웹페이지 즐겨찾기