자바스크립트 클로저(Closure) Javascript에는 클로저(Closure)이라는 개념이 있죠. Javascript는 function(함수)는 값이기 때문에 함수를 return하는것도 가능한데요. 함수를 return 하는것을 클로저라고 이해하시면 편할거 같습니다. 중요한 점은 클로저는 자신이 생성될때의 환경을 기억하기때문에, 외부 변수도 접근이 가능합니다. 말이 어려운데요. 예시를 보며 이해 해보겠습니다. 예시 fruit변수를 x번 실행하는 함수를 만들어 보았습니다. function repeatFruit(fruit, x){ return function (){ for(let i=0; i< x; i++){ console.log(fruit); } } } let printApple3 = repeatFrui..
개발하다보면 팝업띄우는 기능이 필요할때가 많은데요. 요즘은 페이지 내에서 modal을 이용해서도 많이 쓰지만 꾸준히 많이 쓰이죠. 팝업 띄우는 함수: window.open() 사용법. 팝업을 띄우기 위해서는 window.open()를 사용하면 됩니다. window.open(url,name,option); - url : URL - name: 팝업창 이름 - option: 팝업창 옵션 기본적인 사용법은 다음과 같습니다. ex) window.open("https://www.naver.com","네이버","width=500,height=500,top=100,left=100") 여기서 옵션을 사용하여 가로길이, 위치를 조정할수 있죠. width : 팝업창의 가로길이 height : 팝업창의 세로길이 top : 팝..
* 코드 설명 yyyy-mm-dd형식에 맞춰서 유효한 날짜인지 체크해주는 코드입니다. 윤달까지 고려하여 유효한 날짜인지 체크해주는 코드입니다. function checkValidDate(value) { var result = true; try { var date = value.split("-"); var y = parseInt(date[0], 10), m = parseInt(date[1], 10), d = parseInt(date[2], 10); var dateRegex = /^(?=\d)(?:(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:..
Javascript에서 객체 지향적으로 개발 할 수 있게 해주는 것이 프로토타입(Prototype). 일반적으로 일반 개발자들은 프로토타입(Prototype)을 알지 못해도 화면을 개발 할 수 있어서 제대로 인지하지 못하고 있을 수도 있습니다. 하지만 알고 개발하는 것은 중요하기 때문에 정리해보았습니다. * Prototype Java에는 Class를 기반으로 인스턴스를 생성하여 객체를 사용하죠. Javascript에서는 function을 통해 클래스와 비슷하게 개발할 수 있습니다. function을 new를 통해 변수에 담아보겟습니다. function Fruit() { this.type= "과일"; this.name; } var melon = new Fruit(); var apple = new Fruit..
* Ajax란? Ajax는 페이지를 다시 로드하지 않고, JavaScript를 사용하여 클라이언트와 서버간에 비 동기적 통신을 통해 데이터를 주고받는 기술입니다. 페이지를 리 로드하며 데이터를 가져오려 할 경우 데이터를 다시 불러와야 하기 때문에 다시 불러올 필요가 없는 이미지, 스크립트등의 기타 리소스도 가져오게 됩니다. 하지만 Ajax를 사용시 필요한 리소스만 불러와 빠르고, 페이지를 리로드하지 않기 때문에 자원낭비와 시간낭비를 하지 않습니다. ※ Ajax 사용시 장점 - 필요한 리소스만 불러올 수 있기 때문에 반응 속도가 빠르다. - 비 동기적 통신이기 때문에 사용자는 요청을 보내놓고 다른 동작이 가능하다. - Ajax를 사용하지 않고서는 불가능한 기능이 구현가능하다( ex) Scroll Pagin..
* 오버로딩(Overloading) 오버라이딩(Overriding) Java에서 중요한 개념으로 다형성이 있다. 다형성은 같은 자료형에 여러 가지 객체를 대입했을 때 대입한 객체에 따른 결과를 얻어내는 것을 말한다. 그 다형성을 위한 방법으로 오버로딩과 오버라이딩이 있다. 명칭은 비슷하지만 개념은 완전히 다르다. (그렇지만 자주 헷갈린다.) - 오버로딩(Overloading) * 오버로딩: 같은 이름의 메소드가 자료형이나 인자의 갯수가 다를경우를 말한다. - 예시 public int add(int a1, int a2) { ... } public int add(double a1, double a2) { ... } 오버로딩의 개념이없다면 각자 addInt, addDouble 메소드로 만들어야겠지만, 오버로딩..
* 제네릭(Generic) 타입 Java에서 제네릭 타입을 사용할 경우 컴파일 과정에서 타입체크를 할 수 있습니다. 클래스와 메소드를 선언할때 파라미터로 선언할 수 있습니다. * 왜 제네릭 타입을 쓸까? 1. 컴파일 단계에서 에러를 잡을 수 있다. - 잘못된 객체를 넣을시 컴파일 단계에서 걸러주어 런타입 단계에서 문제가 발생 될 여지를 막아주기 때문에 꼭 써주는 것이 좋다. 2. 타입 캐스팅을 컴파일러가 해준다. - 예를 들어 숫자만 들어가야하는 Map이 있다고 생각해 봅시다. Map map = new HashMap(); map.put("사과", 1); map.put("단감", 2); int rank = (Integer)map.get("사과"); - 제네릭 타입을 선언하지 않을 경우 캐스팅을 해줘야 하지..
JavaScript에서는 반복된 요소를 꺼내기 위해서 3가지 함수를 제공하고 있습니다. * foreach foreach 반복문은 Array객체에서 사용할 수 있습니다. 배열의 요소를 첫번째부터 마지막까지 반복하면서 element를 꺼내 사용할 수 있습니다. var arr= ['사과', '배', '포도', '감']; arr.forEach(function(item , index, array){ console.log( index+"번째 과일:" + item); }); // item는 배열에 들어있는 객체 // index는 배열의 index // array는 arr과 같습니다. 해당 구문을 for문으로 변경하면 다음과 같습니다. var arr= ['사과', '배', '포도', '감']; for(var i=0 ;..
- Total
- Today
- Yesterday
- 01타일
- 카카오 코딩 테스트
- spring cache
- 삼각달팽이
- 문자열 압축
- 삼성기출
- 삼성 코테
- 1629
- vaild
- 커링
- javascript
- 39회차
- 19236
- 청소년상어
- 제네릭(Generic)
- 가장 큰 수
- for of
- 백준
- DP
- 키패드 누르기
- 카카오 인턴십
- java
- 반례
- yyyy-MM-dd
- RGB거리
- 오버로딩
- 프로그래머스
- 날짜 유효성
- 제네릭 타입
- local cache
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |