웹 프로그래밍/JavaScript (58) 썸네일형 리스트형 [JS] BOM(브라우저 객체 모델) (~ing) [JS] 'for in'(length 만큼 돌리는 것이 더 안전) VS 'for of' let s = 0; for(let data of nums){ s += data } document.write('for of : ' + s + ' '); let s2 = 0; for(let data in nums){ s2 += data } document.write('for in : ' + s2 + ' '); for of : 요소(element)를 꺼낸다. 숫자 타입으로 불러와진다. 그래서 합계가 출력됨. for in : 인덱스를 꺼낸다. 문자 타입으로 불러와진다. 그래서 인덱스가 이어진 스트링이 됨. ※주의 : for in 을 사용했을 때 결과가 제대로 나오지 않는 경우가 있다. for in을 쓰려고 하는 경우, length 만큼 돌리는 것이 더 일반적이고 안전함. https://tyrionlife.ti.. [JS] 객체(Object)깊은 복사(deep copy) 편하게 하기 가장 쉽게 객체를 깊은 복사하는 방법 // 함수 만드는 것도 귀찮아. 더 쉽게 써보자. var person5 = {...person}; // 객체를 배열로 취급하기 때문에, 전개연산자('...')을 사용해서 각각의 element를 넣읗 수 있다. document.write(person5.toString()) [JS] 배열(Array)깊은 복사(deep copy) 편하게 하기 var array = [10, 20, 30, 40]; // 깊은 복사를 편하게 하는 방법은 없을까요? => 전개 연산자를 쓰면 값을 하나씩 뿌려줄 수 있다! var copyArray2 = [...array]; [JS] 객체 배열에서 객체를 꺼내는 for 반복문 VS 객체 내의 요소를 꺼내는 for 반복문 객체 배열에서 객체를 꺼내는 for 반복문 (in 배열) 경우에는 인덱스가 나오기 때문에 주의합시다! for(let i in persons){ // i는 index입니다! 주의하세요. // alert(i); persons[i].info(); } 객체 내의 요소를 꺼내는 for 반복문 key가 '속성명' 형태로 나온다. 따라서 객체명.속성명 형태를 사용할 수 없고, 객체명['속성명'] 형태로 활용해야한다. for(let key in p){ alert(`${key} : ${p[key]} `) } 진짜 객체명.속성명 형태로 못써? 네 못씁니다. alert("시작됩니다========"); for(let index in persons) { let p = persons[index] for(let key in p){.. [JS] 객체(Object) 기초 및 활용 : 객체 배열, 객체 생성함수, 깊은 복사 등 객체 생성, 속성 추가, 속성 삭제 - Object 생성 : 객체명 = { } - 속성명 : 속성값 - 객체명.추가할속성명 = 값; - delete(객체명.삭제할속성명); 속성명 : 속성값 조회하기 - alert(속성명 + this.속성명) 속성값을 출력하기 - (1) 단순 노가다 - (2) with(this) 활용 - (3) for 반복문 활용 - (4) toString 함수를 생성하고, 활용하여 출력하기 객체 배열 생성 + 배열 내 객체의 속성, 속성값 출력하기 객체를 생성하는 함수 만들기 객체 얕은 복사, 깊은 복사 new 를 쓰면, 함수에 return을 지정하지 않아도 객체를 반환해주는것같다!! new를 쓰면 알아서 객체 공간이 생긴다. 생성자에 리턴값이 없어도 생성되는 것은 자바와 똑같네요 [JS] 전개연산자 : array 요소를 하나씩 보내기(1:1 매핑) apply, ...array 전개 연산자(...)를 활용해봅시다. 배열의 각 값을 인자(Argument)로 넣고싶을 때는 arr[0], arr[1], arr[2], ... , arr[arr.length-1] 등으로 기입해야합니다. 그런데, 인자(Argument)가 많을 때는 시간이 오래 걸리겠죠? 그럴 때 전개연산자를 사용할 수 있습니다. 인자에(...arr)로 전달하면 각 요소(element)들이 하나씩 구분되어 전달됩니다. 반대로, 매개변수(Parameter)로 받을 때는 전개연산자가 각각 구분되어 날라온 요소들을 하나로 모아서 배열 형태로 받습니다. 아래의 그림을 보면서 이해해봅시다. func04(...array) 하면, array의 요소들이 각각 구분되어 인자로 날라갑니다. 이때, 매개변수는 각각 1:1 대응이되어서 a = .. [JS] 전개연산자 : 매개변수(parameter)로 받을 때 사용법 비슷한 내용의 포스팅을 참고하자. https://tyrionlife.tistory.com/160 [JS] 전개연산자 : array 요소를 하나씩 보내기(1:1 매핑) apply, ...array 전개 연산자(...)를 활용해봅시다. 배열의 각 값을 인자(Argument)로 넣고싶을 때는 arr[0], arr[1], arr[2], ... , arr[arr.length-1] 등으로 기입해야합니다. 그런데, 인자(Argument)가 많을 때는 시간이 오래.. tyrionlife.tistory.com 이전 1 2 3 4 5 6 7 8 다음