# enumerable
객체 순회 for ...in
for...in 문은 JavaScript에서 객체의 속성을 열거하기 위해 사용되는 반복문입니다. for...in 문을 사용하여 객체를 순회하면 객체의 모든 열거 가능한 속성을 반복하여 접근할 수 있습니다. for...in 문의 구문은 다음과 같습니다: 여기서 variable은 반복 중 현재 속성의 이름이 할당되는 변수입니다. object는 반복할 객체입니다. 다음은 for...in 문을 사용하여 객체를 순회하는 예시입니다: 위의 예시에서 person 객체는 name, age, gender라는 세 개의 속성을 가지고 있습니다. for...in 문을 사용하여 객체를 순회하면 각 속성의 이름이 key 변수에 할당되고, 해당 속성의 값을 person[key]를 통해 접근할 수 있습니다. for...in 문은 반복 과정에서 객체의 모든 열거 가능한 속성을 순회하며, 각 속성에 대해 반복적으로 실행될 코드 블록을 실행합니다. 위
JavaScript | for in 문을 제대로 알아보자! ( + for of 반복문)
🔄 for in 반복문 > for in 반복문 예시 1️⃣ for in 문 특징 1 for in 반복문은 대체로 객체에서 사용합니다. enumerable(열거 가능한, 셀 수 있는) 한 프로퍼티만 임의의 순서로 반복하기 때문입니다. 우리가 객체를 생성할 때, 우리가 직접 작성하는 key와 value값만 저장되는 것이 아닙니다. 그 외에 숨겨진 속성 3개가 같이 저장됩니다. 그 속성은 아래와 같이 확인해볼 수 있습니다. > Object.getOwnPropertyDescriptor(객체명, '프로퍼티 key 이름') 출력값 👇🏻 위와 같이 for in 문은, 이 인 프로퍼티만 반복하는 것입니다. 🤷🏻♀️ 그럼 배열에는 아예 사용하면 안되나요? 배열에 아예 사용이 안되는 것은 아닙니다. 예시 👇🏻 위와 같이, 로 출력되는 것을 볼 수 있습니다. 자바스크립트는 배열을 로 인식하기 때문
[Javascript] 반복문
반복문 코드 단순 반복 자료형에 담긴 자료들을 하나씩 꺼내고 싶을 때 사용 for 문 코드 여러번 반복하여 실행할 때 어 forEach() - Array 전용 for...in - Object 전용 for...in: enumerable 한 것만 반복(출력) 가능 객체를 만들 때 숨겨진 데이터를 출력하려면, 여기서 enumerable은 셀 수 있는 지 여부, 즉 반복문에서 출력할 것인지 여부를 알 수 있다. 부모의 prototype도 반복(출력)해준다. 그래서 내가 직접 가지고 있는 값만 반복시키고 싶다면, hasOwnProperty(key) 내장함수: 내가 key라는 값을 직접 가지고 있는지 확인해주는 함수 갖고 있으면 true, 없으면 false 내가 가진 것만 반복시키고 싶다면 이 내장함수를 꼭 써야 함 Object 자료형에만 쓴다. for...of: Array, String, arguments, NodeList
[C#] IEnumerable and IEnumerator
Introduction C#을 사용하면서 자주 사용되는 인터페이스 중 하나가 IEnumer~입니다. 이 인터페이스들은 사용자에게 직접 노출되기보다는 인터페이스의 구현체로 사용되기 때문에 이해하기 어려울 수 있습니다. 또한 컨테이너에만 사용되지 않기 때문에 더욱 어려운 면도 있습니다. 이러한 인터페이스 중 IEnumerator와 IEnumerable은 이름이 비슷하여 프로그래머들이 헷갈리기도 합니다. 이러한 인터페이스들은 어떤 역할을 하며, 어떤 용도로 사용되는 것일까요? 그리고 왜 사용처가 컨테이너에만 국한되지 않을까요? 능동적 주체와 수동적 주체로 2개로 나뉘어져 있는 이유도 궁금할 것입니다. 이제 열거 인터페이스를 분석해보며 이러한 의문을 해결해보도록 하겠습니다. Enumerate Interface 각 인터페이스의 이름을 보면 Enumerate 라는 단어에서 파생 됨을 짐작할 수가 있습니다. 그렇다면 Enumerate 가

객체 프로퍼티 설명자
객체 프로퍼티에선 해당 속성을 알려주는 설명자(descriptor)라는 것이 존재합니다. 설명자는 프로퍼티가 데이터 프로퍼티 인가 접근자 프로퍼티 인가에 따라 구성에 차이가 있기에 두 경우로 나눠서 게시글을 작성하도록 하겠습니다. 해당 게시글에선 데이터 프로퍼티의 설명자에 대한 게시글입니다. 데이터 프로퍼티의 설명자를 데이터 설명자(data descriptor)라고 하며 해당 설명자에는 4가지의 attributes가 존재합니다. 해당 attributes의 값은 Object.getOwnPropertyDescriptor(obj, prop)을 통해 확인 가능하며 [`Object.defineP
[JS] for in/of & enumerable,iterable
for in for in 반복문은 객체의 속성들을 반복하여 작업을 수행 모든 객체(배열도 객체)에서 사용이 가능 for in 구문은 객체의 key 값에 접근할 수 있지만, value 값에 접근하는 방법은 제공하지 않음. 자바스크립트에서 객체 속성들은 내부적으로 사용하는 숨겨진 속성들 있음 그 중 하나가 [[Enumerable]]이며, for in 구문은 이 값이 true로 셋팅되어 속성들만 반복할 수 있음. 이러한 속성들을 열거형 속성이라고 부르며, 객체의 모든 내장 메서드를 비롯해 각종 내장 프로퍼티 같은 비열거형 속성은 반복되지 않습니다. >특징 1 객체에 프로퍼티를 추가하면 프로퍼티와 함께 숨겨진 속성들이 추가로 저장됨. enumerable: 셀 수 있는 - 이 속성이 false면 for in 반복문이 거름 > 특징 2 부모의 prototype에 저장된 것도 출력 함. hasOwnProperty(key) :
.png)
[JavaScript] for in, for of 반복문 이해하기
안녕하세요! 이번 글에는 자바스크립트에서 유용게 쓸수 있는 반복문 for of, for in에 대해 알아보겠습니다 :) 반복문을 쓰는 용도 > 우선, 반복문을 쓰는 상황에 대해 말씀드리겠습니다. 첫째, 여러개의 같은 코드를 반복해서 쓰고 싶을때 사용합니다. 둘째, 자료형에 담긴 자료들을 하나씩 꺼내고 싶을때 사용합니다. 그 중에서 for in 반복문에 대해 먼저 알아보겠습니다. for in 반복문은 객체에 주로 사용합니다. 즉, 객체 자료형에 자료들을 하나씩 꺼내고 싶을때 사용을 하게 되는데요. 코드를 살펴보겠습니다 이렇게 book이라는 객체를 생성 후 for(key in 객체명) {} 형태로 for문을 돌리고 console.log를 찍어보면 key 값에 객체의 key가 들어가게 됩니다