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가 ..
만나이의 뜻이 궁금하여 찾아 보았지만 잘 모르겠고 추측해보면 일수를 가득 채워야 1년이 지나니까 가득찬 나이라고 명명한 것 같습니다. 이제 본론으로 들어가 볼까요? JS로 만나이를 계산하게 만드려면 어떤 생각을 해야할까요 저도 노트를 펴서 계산을 해보았습니다.ㅋㅋㅋ 만약 생일이 1994.10.25 이라는 친구 'A ' 생일이 1994.10.15이라는 친구 'B'가 있으면 오늘이 22.10.19 이니까 A = 27세 B = 28세 입니다. 이렇게 년도만으로는 만나이를 계산할 수 없기에 월과 날까지 비교하면서 만나이를 계산해야겠죠? 1. 년도를 빼서 만나이를 구하고 2. 월과 일을 비교하여 구한 나이에서 하나를 빼든 가만히 두든 하게 해야겠습니다. 그리고 함수로 만들기 위해서 Date()함수에 넣은 인자를 ..
말 그대로 최솟값 찾기 문제인데.... 처음에 다르게 생각해서 남의 생각을 빌려 해결했습니다. 처음에는 배열내 자신보다 큰 값이 있으면 splice 문법을 이용해서 삭제를 하려고 했습니다. 하지만 그 방법을 이용했을 때는 한쪽이 큰 값일 때 큰값이 있는 곳은 삭제가 되지만 다음번 에서 그 값 보다 작은 값이 나오면 삭제가 되지 않아 계속 같은 배열로 진행하게 되었습니다. 따라서 최솟값 구할 때 다른 방법으로 접근을 시도해 보았습니다. function findSmallestElement(arr) { // your code here if (arr.length == 0 ){ return 0; } else { let min = arr[0]; for(let i=1; i=arr[i]){ min = arr[i]; }..
자바스크립트의 충격적인 수학 표현식 콘솔 창에 어떠한 값이 나올지 생각해 보셨나요? 저는 당연히 둘다 2가 나올 줄 알았지만... 정답은 2와 1이 나옵니다. (믿지 못하시겠다면 직접 확인해보세요ㅎㅎ) 이것이 왜 이렇게 되는지 확인해 보았더니... 바로 이러한 2단계 스텝을 통해 진행이 되더라고요. 먼저, 앞에 있는 newNum 이 num의 1을 할당 받고 그 다음으로 num에 +1 이 되는 원리입니다. 만약에 둘다 2라는 값이 나오게 하려면 let newNum = ++num 이라고 작성해야 우리가 생각하는 값이 나오더라고요. (충격 ㅁㅇㅁ) String + Number 서로 다른 type인 String + number를 결과 값으로 만들 때는 항상 주의해야합니다. String과 Number형을 더하면 ..