본문 바로가기

전체 글29

프로시저 Procedure 정의 및 변수종류 (1) 프로시저 Procedure -넓은 의미는 어떤 업무를 처리하기 위한 절차. -결과값 반환없이 특정 로직을 처리. -질의의 집합으로 어떤 동작을 일괄처리. - 테이블에서 데이터 추출 및 조작, 결과를 다른 테이블에 저장하거나 갱신. CREATE OR REPLACE PROCEDURE 프로시저명 ( 매개변수명1 [IN | OUT | IN OUT] 데이터 타입, 매개변수명2 [IN | OUT | IN OUT] 데이터 타입 ) IS | AS 변수 및 상수 선언 BEGIN 실행 문장 EXCEPTION 문장 END; 프로시저 실행 EXECUTE 프로시저명(); EXEC 프로시저명(); IN 프로시저에서 입력으로 사용 OUT 프로시저에서 밖으로 나감 IN OUT 둘다 프로시저 변수유형 #일반 변수 COUNT NUMBE.. 2023. 8. 12.
Promise, async / await 자바스크립트의 Promise는 비동기 작업을 처리하는데 사용되는 객체. 비동기 작업은 특정 작업이 완료되기를 기다리지 않고 다음 코드가 실행되는 것을 의미한다. Promise는 이러한 비동기 작업을 보다 쉽고 효율적으로 처리하기 위해 도입된 개념. 성공 실패 const pr = new Promise((resolve, reject) => { }); const pr = new Promise((resolve, reject) => { setTimeout(() => { resolve('OK') }, 3000) }); 위 함수는 state가 pending(대기) 에서 3초 후 state: fulfilled(이행됨) 으로 변경됨 const pr = new Promise((resolve, reject) => { set.. 2023. 8. 1.
call , apply, bind call 모든 함수에서 사용할 수 있으며, this를 특정값으로 지정할 수 있다. const kim = { name: 'Kim' }; const lee = { name: 'Lee' }; function showThisName(){ console.log(this.name); } function update(brithYear, occupation){ this.brithYear = brithYear; this.occupation = occupation; }; update.call(kim,1999,"backend"); update.call(tom,2002,"frontend"); apply 함수 매개변수를 처리하는 방법을 제외하면 call과 같다. 다만 call은 일반적인 함수와 마찬가지로 매개변수로 직접 받지만.. 2023. 8. 1.
전개구 전개 구문을 사용하면 배열이나 문자열과 같이 반복 가능한 문자를 0개 이상의 인수 (함수로 호출할 경우) 또는 요소 (배열 리터럴의 경우)로 확장하여, 0개 이상의 키-값의 쌍으로 객체로 확장시킬 수 있습니다. function add(...numbers){ let result = 0; numbers.forEach((num) => (result +=num)); console.log(result); }; function add(...numbers){ let result = numbers.reduce((prev, cur) => prev += cur) console.log(result); }; add(1,2,3); add(1,2,3,4,5,6,7,8,9); function User(name, age, ...sk.. 2023. 8. 1.
array methods (2) arr.map(fn) 함수를 받아 특정 기능을 시행하고 새로운 배열을 반환 let userList = [ { name: 'Kim', age: 30 }, { name: 'Lee', age: 26 }, { name: 'Son', age: 22 }, ] let newUserList = userList.map((user, index)=> { return Object.assign({},user { isAdult: user.age > 19 }) }); 후 let userList = [ { name: 'Kim', age: 30, isAdult: true }, { name: 'Lee', age: 26, isAdult: true }, { name: 'Son', age: 22, isAdult: true }, ] array.. 2023. 7. 31.
Array Methods arr.splice(n,m) 특정 요소 삭제 ,삭제된 요소 반환 arr.splice(n,m) 특정 요소 삭제 n 시작 m 갯수 let arr = [1,2,3,4,5]; arr.splice(1,2); // [1,4,5] let result = arr.splice(1,2); result 값은 [2,3] arr.splice(n,m,x) 특정요소 지우고 추가 let arr = [1,2,3,4,5]; arr.splice(1,3,100,200); // [1,100,200,5] let arr = ["나는", "철수", " 입니다"]; arr.splice(1,0,"대한민국","소방관"); // ["나는",""대한민국","소방관","철수","입니다"]; 삭제는 안하고 인덱스 1 자리에 추가 arr.slice(n,m) n.. 2023. 7. 31.
toFixed(), isNaN(), parseInt() 소숫점 자리수 toFixed(); let userRate = 30.1234; userRate.toFixed(2); // 30.12 userRate.toFixed(0); // 30 userRate.toFixed(6); // 30.123400 장점: 쉽게 소숫점으로 반환 단점: 문자열로 반환해버림 isNaN() 숫자판별 let x = Number('x') ; // NaN x == NaN //false x === NaN //false NaN == NaN //false isNaN(x) //true isNaN(3) //false isNaN만이 NaN인지 판별 parseInt() 문자열을 숫자로 바꿔줌 , 단 숫자가 앞에 와야한다 Number와 다른점은 문자가 있어도 바꿔준다 let margin = '10px'; .. 2023. 7. 31.
Symbol property key 문자형 const obj = { 1 : '1입니다', false : ' 거짓' } Object.keys(obj); obj['1'] // "1 입니다." obj['false']// "거짓" Symbol은 유일성이 보장된다. const a = Symbol(); const b = Symbol(); a === b; false a == b ; false // 다른 개발자가 만들어놓은 객체 const user = { name : 'Kim', age : 30 }; //내가 작업 // user.showName = function () {}; const showName = Symbol("show name"); user[showName] = function() { console.log(this.na.. 2023. 7. 31.