in, with 키워드
in키워드
in 키워드를 for 키워드와 따로 사용하면 해당 속성이 객체안에 있는지 검사할 수 있다.
객체안에 해당속성이 있으면 true를, 없으면 false를 반환한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <script> var car = { name : 'BMW520D', brand : 'BMW', power : '200hp', sell : 12000, grade : 5 }; //in 키워드 사용 alert('name' in car); //true alert('price' in car); //false </script> | cs |
in 앞에 확인하고자하는 속성명을, in 뒤에 사용하는 객체명을 적으면 된다.
with 키워드
with 키워드를 사용하면 객체를 좀더 편리하게 사용할 수 있다.
객체를 생성하고 속성에 접근하기 위해서는 해당 속성을 포함하고 있는 객체명을 써주어야한다.
하지만 with키워드를 이용할 경우 객체명을 생략하여 코드가 간결해진다.
1 2 3 | with(<객체이름>) { //코드내용 } | cs |
with 키워드 옆에 괄호를 치고 괄호안에 해당객체의 이름을 넣으면 이 블럭안에서는 객체의 이름을 쓰지 않아도 객체의 속성에 접근할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <script> var car = { name : 'BMW520D', brand : 'BMW', power : '200hp', sell : 12000, grade : 5 }; with(car) { alert('name :' + name + '\n'); alert('brand :' + brand + '\n'); alert('power : ' + power + '\n'); alert('sell : ' + sell + '\n'); alert('grade : ' + grade + '\n'); } </script> | cs |
위의 코드와 같이 with키워드를 사용하면 객체명을 쓰지 않아도 속성에 접근할 수 있다.
※ 만약 객체내의 속성과 외부변수의 이름이 같다면 with 키워드 내에서 충돌이 일어난다. 이때는 객체의 속성을 우선시하고, 외부변수를 사용하고자하는 경우 window. 키워드를 변수명 앞에 붙여야한다.
'개발 > JavaScript' 카테고리의 다른 글
[JavaScript] textContent, innerText, innerHTML 비교 (0) | 2021.04.18 |
---|---|
[JavaScript] 객체의 속성과 메소드 (0) | 2018.07.08 |
[JavaScript] 객체 (2) | 2018.07.06 |
[JavaScript] 클로저 (0) | 2018.06.21 |
[JavaScript] 콜백함수 (0) | 2018.06.21 |