본문 바로가기

자바 풀스택 공부78

Day 41-2. [JavaScript]매개변수(parameter)와 전달인자(argument) 매개변수(parameter)와 전달인자(argument) 차이 function Rect(x, y) { this.x = x this.y = y this.printArea = function(){ console.log(this.x * this.y) return this } this.setX = function(x){ this.x = x return this } this.setY = function(y){ this.y = y return this } } new Rect(3, 4).printArea().setX(5).printArea().setY(5).printArea(); 위 예제에서 Rect(x, y) 의 x y 가 매개변수 new Rect(3, 4)에서 3 4가 전달인자이다. 매개변수와 전달인자는 현업에서.. 2022. 3. 3.
Day 41. [Oracle SQL] CASE 함수 : CASE 함수는 DECODE 함수의 기능을 확장한 함수 CASE expression WHEN comparison exp1 THEN return exp1 [WHEN comparison exp2 THEN return exp2 ELSE else expression] END DECODE 사용시 주의사항 DECODE CASE WHEN 기능 - 조건단위 분기 - IF 문 대응 - 조건단위 분기 - SWITCH CASE 문 대응 좋은 점 - 코드의 함축성 - 전형적인 구문으로 가독성 향상 - 비정형 비교 및 범위비교가 쉽다. 불편한 점 - 여러 조건이 한꺼번에 뭉쳐질 때 복잡하다. - 범위 비교시 Sign 함수 함께 사용으로 성능에 영향 - 비정형 비교 시 코드생성이 어려워짐 - 가독성이 낮다. -.. 2022. 3. 3.
Day 40-3. [JavaScript]전역 변수 사용 억제, 모듈 패턴 전역 변수의 사용을 억제하는 방법 1. 즉시 실행 함수 모든 코드를 즉시 실행 함수로 감싸면 모든 변수는 즉시 실행 함수의 지역 변수가 된다. var myFunction = (function() { var foo = 10; // 즉시 실행 함수의 지역 변수 console.log(foo) // ... }()) console.log(myFunction) // 10 undefined // console.log(foo) // ReferenceError: foo is not defined 2. 네임스페이스 객체 전역에 네임스페이스 역할 담당할 객체를 생성하고 전역 변수처럼 사용하고 싶은 변수를 프로퍼티로 추가하는 방법 var MYAPP = {}; // 전역 네임스페이스 객체 MYAPP.name = 'Lee'; c.. 2022. 3. 2.
Day 40-2. [JavaScript] 렉시컬 스코프 렉시컬 스코프 var x = 1; function foo() { var x = 10; bar(); } function bar() { // 지역변수 없어서 바로 전역변수 찾으러 감 console.log(x); } foo(); // 1 bar(); // 1 위 예제의 실행 결과는 bar 함수의 상위 스코프가 무엇인지에 따라 결정된다. 상위 스코프를 결정하는데는 두 가지 방법이 있다. 1. 함수를 어디서 호출했는지에 따라 함수의 상위 스코프를 결정한다. 2. 함수를 어디서 정의했는지에 따라 함수의 상위 스코프를 결정한다. 첫 번째 방식을 동적 스코프(dynamic scope)라 한다. 두 번째 방식을 렉시컬 스코프(lexical scope) 또는 정적 스코프(static scope)라 한다. 동적 스코프 방식.. 2022. 3. 2.