본문 바로가기

JavaScript/JavaScript기초

(35)
[Javascript] 재귀와 스택 재귀 재귀란, 함수 내에서 어떤 함수를 호출해야하는데 호출 해야하는 함수가 자기 자신일 경우 재귀라고 말함 아래는 제곱근을 구하는 함수를 반복문과 재귀를 이용해서 생성 반복문을 이용한 a를 n번 곱하는 제곱근을 생성 function my_pow(a,n){ let res = 1; for(let i = 0; i 1) return 2 * my_pow(a,n-1); } console.log(my..
[Javascript] 전역객체 전역객체 자바스크립트의 전역객체를 사용하면 어디서나 사용이 가능한 변수나 함수를 생성할 수 있음 전역객체는 브라우저 환경에서는 window, nodeJS환경에서는 global 이라고 설정되어 있음 전역객체 프로퍼티의 접근은 아래와 같음 //my_val이라는 전역 변수 설정 window.my_val = "hellow world!"; //my_func라는 전역 함수를 생성 후 전역객체인 my_val 사용 window.my_func = () =>{ console.log(window.my_val); } //전역함수 호출 window.my_func(); var 로 선언한 변수는 전역 객체에 포함됨 var var_val = "it is varValue"; //var 변수는 전역객체에 포함되기 때문에 전역객체에 접근..
[Javascript] new Function 문법 new Function new Function 함수의 인자, 함수의 실행을 문자열로 주어서 함수를 생성하는 문법임 new Function([arg1, arg2 ...,],funcBody) 형태로 생성 가능 ( [] 안은 생략가능) // num1 과 num2를 인자로 받아서 두 값을 합한 값을 리턴해 주는 함수를 생성 let new_func = new Function('num1','num2','return num1 + num2'); console.log(new_func(10,11)); //콘솔창에 "it is new function" 이라는 문자열을 출력하는 함수를 생성 let new_func2 = new Function('console.log("it is new function")'); new_func2..
[Javascript] JSON JSON.stringify JSON.stringify : 객체 -> JSON JSON.parse : JSON -> 객체 JSON이란 키와 값 쌍으로 되어있는 데이터 객체를 전달하기 위한 문자 기반의 표준 포맷임. 네트워크를 통해 객체를 전송할 때 객체를 JSON형태의 문자열로 바꿔주어야 함. JSON.stringify 메서드는 객체를 JSON 형태로 바꿀 수 있음 let my_info = { firstName:'namsu', lastName:'park', address:'ansan', age:27, friends:['kim','lee','hong'] } let my_JSON = JSON.stringify(my_info); console.log(my_JSON); console.log(typeof my_JS..
[Javascript] 날짜(Date) Date 객체 Date 객체는 날짜를 저장하고 날짜 관련 메서드를 지원해 줌 Date 객체 생성 new Date()를 이용하여 Date 객체 생성 // 현재시간이 저장된 날짜 객체를 생성 let now_date = new Date(); console.log(now_date); new Date(milisecond) 형태로 1970 년 1월 1일 0시 0분 0초를 기준으로 milisecond 를 추가한 시간을 생성(하지만 한국 표준시로 출력되므로 9시로 생성됨) // 1970년 1월 1일 0시 0분 0초의 날짜 생성(한국 표준시 기준이므로 9시로 출력) let first = new Date(0); // 1970년 1월 1일 에 2일을 추가한 1970년 1월 3일 날짜 생성 let second = new Da..
[Javascript] 이터러블(iterable) iterable 객체 iterable 이란 반복가능한 이란 뜻으로 이터러블 객체는 배열을 일반화 한 객체임. 이터러블 객체는 for .. of 문을 사용할 수 있음 배열이 대표적인 이터러블 객체이지만 다른 내장객체도 배열처럼 반복 가능( ex)문자열 ) 배열이 아닌 일반 객체도 Symbol.iterator을 사용하면 for .. of 문 사용이 가능함 Symbol.iterable 사용하여 객체를 iterable 객체로 변환 for of 문 사용시에는 아래와 같은 과정이 발생 for .. of 문이 실행되면 먼저 Symbol.iterator을 호출(없을 시 오류, Symbol.iterator은 반드시 next()메서드가 있는 이터러블 객체를 반환해야 함) for .. of 문은 반환된 이터러블 객체만을 대..
[Javascript] 구조 분해 할당 구조 분해 할당이란? 구조 분해 할당이란 객체나 배열의 타입을 변수로 분해해 주는 것으로, 함수에 매개변수로 객체를 전달할 때 객체 또는 배열에 저장된 데이터를 일부만 전달해야 할 때 유용하게 쓰일 수 있음. 또한 함수에 전달해야 하는 매개변수가 너무 많을때도 사용될 수 있음 배열의 분해 배열은 아래와 같이 분해할 수 있음 let my_arr = ['a','b','c','d']; let [ a , b ] = my_arr; console.log(`${a} , ${b}`); 배열의 0, 1번 인덱스의 데이터인 'a' 와 'b' 가 각각 변수 a, b에 할당된 것을 볼 수 있음 쉼표를 이용하여 인덱스를 건너 뛸 수 있음 let my_arr = ['a','b','c','d']; let [ a , , b ] = ..
[Javascript] Map과 Set Map 맵(Map) 은 키가 있는 데이터를 저장하는 점에서 객체와 비슷하지만 맵의 키에는 객체와는 다르게 다양한 자료형을 사용할 수 있음 맵의 주요 메서드 new Map() – 맵을 생성 map.set(key, value) – key를 이용해 value를 저장 map.get(key) – key에 해당하는 값을 반환key가 존재하지 않으면 undefined를 반환 map.has(key) – key가 존재하면 true, 존재하지 않으면 false를 반환 map.delete(key) – key에 해당하는 값을 삭제 map.clear() – 맵 안의 모든 요소를 제거 map.size – 요소의 개수를 반환 //map의 선언 let map1 = new Map(); //맵에 값 할당(다양한 자료형 사용) map1...