객체와 배열에서 사용가능한 for in 문을 먼저 알아보도록 해요. for - in 문 배열이나 객체 전체에 반복문을 줄 때 사용하는 문법입니다. const arr = ["coconut", "banana", "pepper", "coriander"]; //첫 번째 방법 for (let i = 0; i < arr.length; i++) { console.log(i); console.log(arr[i]); } //두 번째 방법 for (let i in arr) { console.log(i); console.log(arr[i]); } 첫 번째 방법은 아시다시피 for 구문을 이용하는 방법 입니다. 개인적인 생각으로 for 구문은 조금 더 정밀한 방법으로 반복문을 진행하는 방법이라고 생각이 됩니다. index의 ..
HTML 파일과 자바스크립트 파일이 열리는 과정을 확인하면서 async와 defer의 차이를 확인해봅시다. (드림코딩사랑해요) HTML 파일을 parsing 하는 과정 중 js 파일을 먼저 실행하기 위해서 html 부분에 태그를 넣으면 js 파일이 html파일pasing 중간에 진행된 후 html 파일이 실행됩니다. 이렇게 진행하게 될떄, js 파일이 어마어마하게 크고 복잡하다면 html 파일이 pasing되지 않아서 웹페이지가 보이지 않을 수도 있다는 단점이 있습니다. 그래서 body 밑에 script 파일을 넣어서 html 파일을 다 pasing 하고 js 파일을 오픈하는 방법을 사용하면 웹 페이지는 빨리 열리겠죠? 하지만.... 이것 또한 문제가 있습니다. 어떤 문제일까요... 바로 기본적인 htm..
Class 객체지향 프로그래밍의 핵심입니다. 이 클라스라는 것이 왜 필요하는지 생각을 해보면 백만개의 오브젝트를 만들면 자바스크립트 파일에 너무나도 많은 양의 데이터를 삽입해야합니다. 그래서 큰 틀을 만들고 큰틀에 재료만 바꿔서 데이터를 찍어내는 느낌으로 진행을 하면 작성해야하는 양이 확연히 줄게 되겠죠? 뭐... 롤 케릭터나 자동차의 정보 등 너무 많은 케릭터나 차가 있다면? 이 클라스를 사용하여 정보를 만드는 것이 편하다고 생각합니다. 롤을 좋아하기 때문에 롤 케릭터로 예를 만들어 보겠습니다. (하기에 작성한 유투버의 class 설명은 100번 봐도 유의미합니다. 아주 좋습니다.) const 가렌 = { Q : '침묵', W : '방어' } const 누누 = { Q : '강타', W : '눈덩이 굴..
Scope 변수가 어디까지 쓰일 수 있는지 의 범위를 의미합니다. scope를 알기전에 block이란 중괄호 {} 로 감싸진 것을 block 이라고 합니다. function 의 내부는 하나의 block 입니다. Block 이제 block 의 예제를 보실까요. function getResult() { let result = 10; console.log(result); } console.log(result); 이렇게 진행을 했을 때, 아마 is not defined 가 나타날 것입니다. block 외에서 함수가 선언이 되지 않으면 result의 값은 외부로 노출이 되지 않기 때문에 getResult()를 선언해야만 비로소 result를 알게됩니다. 따라서 getResult()를 한번 선언하고 콘솔을 확인하게..
객체의 key 값과 value 값을 불러오는 메소드 salesArr1 = { a : 34, b: 23, c: 29 } 이런 값이 있다면 a의 값을 불러오고 싶으면 어떻게 해야할까요? 참고로, value 값을 불러올 때는 salesArr1.a 나 salesArr1[a] 로 불러오면 됩니다. (**for 문이 있으면 방법이 변경됩니다.) 아무튼 key 값을 구현하고 싶으면 Object.keys(salesArr1) 을 사용하면 됩니다. -> ['a','b','c'] 가 나타납니다. 만약에 객체 속에 내용이 많은 경우에 value 값을 다 더하고 싶은 경우를 생각하면서 value 값을 불러오는 메소드도 확인해 보아요. salesArr1 = { a : 34, b: 23, c: 29, ........... } 저 ..
Math 메소드를 이용한 랜덤 숫자 뽑기(범위 설정까지) 처음으로 Math 메소드에 아주 재미난 숫자 랜덤 시스템이 있답니다. Math.random() 을 사용하게 되면 0~0.9999999999999999999999999999999 사이에서 숫자가 랜덤으로 구현됩니다. 따라서, 이 함수에 곱셈을 추가하여 범위를 늘리고 정수를 얻고 싶으면 Math.floor() : 숫자 내림 함수 / 를 이용하면 됩니다. 이번에도 노트에 작성을 하여 확인해 봤습니다. 만약에 범위를 3~15 사이의 숫자를 나타내고 싶으면 어떻게 해야할까.... 생각을 해봤습니다. 일단 0에 뭘 곱해도 0이니까 최소값을 마지막에 더해야겠다는 생각을 했습니다. 그리고 최대값은 나와야하는 숫자보다 1이 커야 15.99999999999999가 ..