자바스크립트33 [자바스크립트 javascript] 실행 컨텍스트와 콜 스택 ✅ 실행 컨텍스트와 콜 스택 1️⃣ 실행 컨텍스트(Execution context) 자바스크립트 코드가 실행되는 환경을 의미한다. 자바스크립트에는 대표적으로 두 가지 타입의 실행 컨텍스트(Execution context)가 있다. 실행할 코드에 제공할 환경 정보들을 모아놓은 객체들로 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념이다. 👌 Global Execution context 자바스크립트 엔진이 처음 코드를 실행할 때 Global Execution Context가 생성된다. 생성 과정에서 전역 객체인 Window Object(Node는 Global)를 생성하고 this가 Window 객체를 가리키도록 한다. 👌 Function Execution context 자바스크립트 엔진은.. 2022. 7. 20. [자바스크립트 javascript] 불변 객체를 만드는 방법 ✅ 불변 객체를 만드는 방법 불변이란? 변하지 않는 것 불변 객체란? 변하지 않는 객체, 즉 이미 할당된 객체가 변하지 않는다는 뜻 자바스크립트에서 불변 객체를 만드는 방법 : const, Object.freeze() 1️⃣ const ES6 문법부터 let과 const 를 지원한다. 변수를 상수로 선언할 수 있다. 일반적으로 상수로 선언된 변수는 값을 바꾸지 못하는 것으로 알려져 있다. ES6에서의 const는 할당된 값이 상수가 되는 것이 아닌, 바인딩 된 값이 상수가 되는, 즉, test변수가 상수가 되기 때문에 const 키워드로 선언된 test 변수에는 객체 재할당은 불가능하지만 객체의 속성은 변경 가능하다. const test = {}; test.name = "mingyo"; console.l.. 2022. 7. 19. [알고리즘] 하샤드 수 문제풀기(자바스크립트 javascript) 👌 x가 예를 들어 13이면 13을 1+3 으로 나눈 값을 구해야 하기 문자열로 먼저 바꿔준다. String(x) // 문자열 13 👌 문자열 13을 1,3으로 배열해주고 변수를 선언한다. let arr = String(x).split('') // 문자열 1,3 👌 1,3을 더하려면 위치를 구해주어야 하니까 for(let i=0; i 2022. 7. 19. [알고리즘] 콜라츠 추측 문제풀기(자바스크립트 javascript) (풀기 전에 알아야 할 것) 🔹 while : 반복되게 설정 👌 num 이 짝수라면 2로 나누고 홀수라면 3을 곱하고 1을 더해라 if(num % 2 == 0){ num = num/2 // num /= 2 이렇게 표현할 수도 있다. }else{ num = (num * 3) + 1 } 👌 while 반복함수를 사용하는데, 이 조건을 사용해서 1이 안되면 반복하는 것 while(num != 1){ if(num % 2 == 0){ num = num/2 }else{ num = (num * 3) + 1 } // 여기까지가 짝수일때, 홀수일때 조건문 answer += 1; } while 문 안에 들어간 수가 짝수, 홀수를 판별해서 식을 한 번 돌고 나올 때마다, answer +=1로 while 문을 반복하는 횟수를.. 2022. 7. 19. [알고리즘] 제일 작은 수 제거하기 문제풀이(자바스크립트 javascript) (시작하기 전에 알아야 할 것) 🔹 Math.min(...arr) : arr에서 가장 작은 것 🔹arr.indexOf() : arr에서 ()의 위치 찾기 🔹arr.splice(arr(),1) : arr에서 arr() 해당하는 1개를 빼라 👌 가장 작은 수를 빼야 하니까 arr의 가장 작은 수 찾기 Math.min(...arr) // ... 써줘야 한다. num 이면 ...num 이렇게 👌 저기서 찾은 수의 위치를 찾아줘야 한다. arr.indexOf(Math.min(...arr)) 👌 이 가장 작은 숫자의 위치를 찾아줬으면 빼주면 된다. 1개! arr.splice(arr.indexOf(Math.min(...arr)), 1) 👌 [10] 처럼 1개가 있을 경우 가장 작은 수를 빼면 return 값이 없으므.. 2022. 7. 19. [알고리즘] 정수 제곱근 판별 문제풀이(자바스크립트 javascript) (시작하기 전에 알아야 하는 함수) 🔹Math.sqrt() : 제곱근을 반환해주는 함수 👌 n이 x의 제곱인지 확인해주기 위해 Math.sqrt() 함수를 써준다. let x = Math.sqrt(n) 이렇게 하고 console.log(x)를 해보면 11과 1.73205000~~~ 으로 정수와 소수점이 나오게 된다 👌 정수라는 의미는 1로 나누었을 때 나머지가 0이라는 의미이므로 if(x % 1 == 0) // 양의 정수라면, 👌 x+1의 제곱을 리턴해라 if(x % 1 == 0){ answer = (x+1) * (x+1) } 👌 아니라면 -1 if(x % 1 == 0){ answer = (x+1) * (x+1) }else{ answer = -1 } ✅ 최종 코드 function solution(n) {.. 2022. 7. 19. 이전 1 2 3 4 5 6 다음