본문 바로가기

javascript/javascript 기본지식9

표준 내장 객체의 확장 표준 내장 객체의 확장 표준 내장 객체(Standard Built-in Object)는 자바스크립트가 기본적으로 가지고 있는 객체들을 의미한다. 내장 객체가 중요한 이유는 프로그래밍을 하는데 기본적으로 필요한 도구들이기 때문에다. 결국 프로그래밍이라는 것은 언어와 호스트 환경에 제공하는 기능들을 통해서 새로운 소프트웨어를 만들어내는 것이기 때문에 내장 객체에 대한 이해는 프로그래밍의 기본이라고 할 수 있다. 자바스크립트는 아래와 같은 내장 객체를 가지고 있다. Object Function Array String Boolean Number Math Date RegExp 이제 우리는 내장객체라는 하늘에서 뚝떨어진 이것들이 무엇인지를 보다 잘 이해할 수 있게 되었다. new가 무엇인지, 함수가 객체를 어떻게 .. 2021. 7. 19.
this this this는 함수 내에서 함수 호출 맥락(context)를 의미한다. 맥락이라는 것은 상황에 따라서 달라진다는 의미인데 즉 함수를 어떻게 호출하느냐에 따라서 this가 가리키는 대상이 달라진다는 뜻이다. 함수와 객체의 관계가 느슨한 자바스크립트에서 this는 이 둘을 연결시켜주는 실질적인 연결점의 역할을 한다. 함수호출 함수를 호출했을 떄 this는 무엇을 가르키는지 살표보자. this는 전역객체인 window와 같다. function func() { if (window === this) { console.log("window === this"); } } 결과 window === this 메소드의 호출 객체의 소속인 메소드의 this는 그 객체를 가르킨다 let o = { func : functi.. 2021. 7. 19.
arguments(인자) arguments 함수에는 arguments라는 변수에 담긴 숨겨진 유사 배열이 있다. 이 배열에는 함수를 호출할 때 입력한 인자가 담겨있다. 아래 예제를 보자. 결과는 10이다. function sum() { let _sum = 0; for (let i = 0; i < arguments.length; i++) { document.write(i + ":" + arguments[i] + " "); _sum += arguments[i]; // 1 3 6 10 } return _sum; } document.write(`result : ${sum(1, 2, 3, 4)}`); // 10 함수 sum은 인자로 전달된 값을 모두 더해서 리턴하는 함수다. 그런데 1행처럼 함수 sum은 인자에 대한 정의하가 없다. 하지.. 2021. 7. 17.
배열 메소드 2 배열메소드 2 arr.sort() 배열재정렬 . 배열 자체가 재정렬 (문자열,숫자열도 가능) let arr = [1, 5, 3, 4, 2]; arr.sort(); // [1,2,3,4,5] let arr = [27, 8, 5, 13]; arr.sort(); // [14, 37, 5, 8] 숫자열을 문자열로 취금하여 이러하게 나온다 function fn(a, b) { return a - b; } arr.sort(); // [14, 37, 5, 8] 숫자열을 문자열로 취금하여 이러하게 나온다 arr.sort(fn); // [5, 8, 14, 37] 숫자열을 문자열로 취금하여 이러하게 나온다 Lodash 라는 라이브러리를 사용하여 위에 잡업을 편하게 할수있다 _.sortBy(arr) https://lodash.. 2021. 7. 12.
배열 메소드 Array 배열 배열의 메소드 push() : 뒤에삽입 pop() : 뒤에 삭제 unshift() : 앞에 삽입 shift() : 앞에 삭제 arr.splice(n, m) 특정 요소 지움 let arr = [1, 2, 3, 4, 5]; arr.splice(1, 2); console.log(arr); // [1,4,5] arr.splice(n, m, x) 특정 요소 지우고 추가 let arr = [1, 2, 3, 4, 5]; arr.splice(1, 3, 100, 200); console.log(arr); // [1, 100, 200, 5] let arr = [1, 2, 3]; arr.splice(1, 0, 7, 8); // [1, 7, 8, 2, 3] arr.splice(n, m, x) 삭제된 요소 반환.. 2021. 7. 12.
문자열 메소드 문자열 메소드 ',",` .length // 문자열 길이 let desc = "안녕하세요"; desc.length; // 5 toUpperCase() / toLowerCase(); // 대문자 / 소문자로 변경 let desc = "kikiki"; desc.toUpperCase(); // 'KIKIKI' desc.toLowerCase(); // 'kikiki' str.indexOf(text); 위치를 알려주는 텍스트 let desc = "Hi guys. Nice to meet you"; desc.indexOf("to"); // 14 첫번쨰 위치를 알려준다 desc.indexOf("man"); // 찾는 글자가 없을떄 -1을 반환한다 if (desc.indexOf("hi") > -1) { consoloe... 2021. 7. 12.