본문 바로가기

함수도 객체다. 자바스크립트 let func = function(a, b) { console.log(a, b); }; /** 프로퍼티 할당 가능 */ func.name = 'hoon'; console.log(func);
자바 스크립트 함수 선언방식의 차이 1. 함수 리터럴function func() { ... }2. 함수 표현식(변수에 할당)let func = function() { ... };3. 함수 선언문/** * 선언보다 나중에 함수가 정의되어도 실행이 된다. * (함수 호이스팅) */ func(); function func() { ... } 위 방식에는 주요한 차이점 2가지가 존재한다.1. ';'의 작성 권고 유무- 1.은 블럭의 의미- 2.는 변수 선언의 의미이므로 만일의 경우 심각한 에러를 불러올 수 있다.2. 사실 2번은 내부적으로 아래와 같이 변형된 후 사용된다.let func = function func() { ... };그래서 func()와 같이 외부에서 호출해서 쓸 수 있는 것. 3. 3.은 함수 호이스팅이 가능- 권장되지 않음 아래..
자바스크립트 배열 리터럴의 요소, 프로퍼티의 차이점 let arr = ['a', 'b', 'c']; arr.name = 'joon'; arr.school = 'banchon'; /** * arr.length는??? : 3 * * 배열도 __proto__로 Object를 가지기 때문에 * 프로퍼티도 가질 수 있다. * but 프로퍼티 != 배열의 요소 */ 모든 '요소 출력'for (let i = 0; i < arr.length; i++) { console.log('arr[' + i + '] = ' + arr[i]); }arr[0] = amain.js:20arr[1] = bmain.js:20arr[2] = c 모든 '프로퍼티' 출력for (let property in arr) { console.log('property:' + property + ', ' +..
Requested JSON parse failed. [Failed], parsererror에러 해결법 나의 경우는 dataType: 'application/json',dataType: 'json', 한참 걸렸다.
캘린더(달력) 세팅 함수 - 자바 스크립트 퍼블리셔가 달력을 그냥 하드코딩 해 줘서 갑자기 만들어야 했던 달력나중에 쓸 일이 있을라나 싶기도 하지만 저장 /** * 달력 세팅 함수 * 0 : 1월 ~ * 1 : 1일 ~ * 0 : 일요일 ~ * @param targetMonth */ setCalendar(year, month, target) { let targetFirstDay = this.cmsUtil.getFirstDay(year, month); let targetLastDay = this.cmsUtil.getLastDay(year, month); let targetFirstDay_date = targetFirstDay.getDate(); let targetLastDay_date = targetLastDay.getDate(); let targ..
1874번) 수열 import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = Integer.parseInt(scanner.next()); int[] arr = new int[n]; Stack stack = new Stack(); StringBuilder result = new StringBuilder(); for (int i = 0; i < n; i ++) arr[i] = Integer.parseInt(scanner.next()); int j = 0; for (int i = 0; i < n; i++) { stack.add(i + 1); result...
자바 논리연산자 &, |와 &&, ||의 차이 많은 자바개발자들이 아래와 같이 논리연산자를 무의식적으로 2개씩 사용한다.if (A && B) { ... } if (A || B) { ... } 사실 아래와 같이 하나만 사용해도 된다.if (A & B) { ... } if (A | B) { ... } 두개의 차이는 무엇일까..? A라는 앞의 조건을 검사 한 후,최종 결과가 B와는 상관이 없을 때, 그럼에도 B를 판별(&, |)해보느냐, 스킵해주냐(&&, ||)의 차이다. 별거 아니지만 소소하게 불필요한 코드를 줄일 수 있다.뭐가 더 좋은건 아니라고 한다.(cf. 자바스크립트도 동일한 것으로 알고 있다.) 아래 참고/** null --> Student의 name에 null을 집어넣었다. */ Student student = new Student(1, nu..
LEFT OUTER JOIN 추가 제약조건(WHERE, ON의 차이) JOIN 자체를 잘 안써서 몰랐는데, JOIN절의 ON과 WHERE은 같은 역할을 하는게 아니었다.세개의 테이블을 LEFT OUTER JOIN 한 뒤, 검색이 필요한 쿼리를 짰는데, 검색이 생각대로 되지 않았다. - 처음 잘못 실행한 쿼리SELECT AAA.aa, BBB.bb, CCC.cc FROM AAA AS A LEFT OUTER JOIN BBB AS B ON A.B_seq = B.seq LEFT OUTER JOIN CCC AS C ON A.C_seq = C.seq AND 추가 제약조건 --------> 제약조건이 오른쪽에 걸려서 원하는 결과가 나오지 않는다. - 원하는 결과가 나온 쿼리SELECT AAA.aa, BBB.bb, CCC.cc FROM AAA AS A LEFT OUTER JOIN BBB ..