본문 바로가기

JAVASCRIPT

(66)
JAVASCRIPT ) 자료구조 데이터 프로세싱자료처리(데이터 프로세싱)란 수학적 방법을 통해무의미한 데이터를 유의미한 데이터로정렬되지않은 데이터를 정렬된 데이터로의사결정을 할 수 없는 데이터를 의사결정이 가능한 데이터로만드는 과정  자료구조  Stack - LIFO (Last In Frist Out) : 자료의 역전자료를 넣는 행위를 push, 꺼내는 행위를 pop이라고 칭한다.Queue - FOFO (First In Frist Out) 구조자료를 넣는 행위를 push, 꺼내는 행위를 shift라고 칭한다.linearQ - 순환되지않는 구조circleQ - 순환 구조buffer(성능100%일때 성능저하를 막는 목적)나 cache(성능이100%일때 성능을 끌어올리는 목적)도 Queue의 형태이다.Deck(Deque) - 양방향 구조 S..
JAVASCRIPT ) class class문은 설계도 이다.class는 속성과 메소드로 구성되어있다.new 에 넘기는 매개변수는 변하지않을 고유의 값만 넘겨야한다.Class 객체에서 변할수 있는 속성값을 매개변수로 넘기면 안된다.문법적으로는 constructor를 생략하고 인스턴스를 생성한 이후에 속성을 동적으로 추가할 수도있지만 세상에 속성이 없는 객체는 없기에 의미론적으로는 반드시 constructor를 입력해야한다. class(설계도)를 이용하여 생성한 객체를 인스턴스(instance)라고 한다. class humanBeing { constructor(name){ // 여기 안에 들어가는 속성들을 클래스필드라고 부름 this._name = name; } speak(){ alert('내 이..
JAVASCRIPT ) 템플릿 리터럴 기존에는 ' '와 " "를 마구잡이로 쓸수없고 + 기호를 이용해서 변수와 문자를 구분하여 사용해야했는데템플릿 리터럴을 사용하면 ' '와 " "를 혼용하여 사용할 수 있으며변수를 적을때는 ${letName} 이나 ${1+1} 처럼 사용할 수 있다. const hiy = "hiy";const zard = "zard";document.write(`나는 ${hiy}이고 ${zard}는 가수이다`);
JAVASCRIPT ) 오브젝트 오브젝트는복제가 가능한 오브젝트 / 복제가 불가능한 오브젝트 로 나뉘고속성은 필드로도  불린다.오브젝트끼리는 메세지를 주고받는다. --> 함수/메소드의 매개변수를 통해 주고함수의 리턴값을 통해서 받는다.함수는 파라메터가 정의되어야한다.이러한 약속된 형태를 인터페이스라고 한다. 정보의 은닉-정보의 묶임-캡슐화 여러개의 묶임을 시스템이라 부르고시스템은 열린 시스템과 닫힌 시스템으로 나눈다열신시스템은 객체들의 이동이 자유로운 시스템닫힌시스템은 객체들의 이동이 부자연스러운, 오고갈수없는 시스템 함수는 함수의 의미도 갖지만 객체의 의미를 가지기도 하는데함수의 의미가 많아짐에따라 의미 구분하여 사용하기위해class문법이나 화살표함수가 등장한다. 객체안에 this는 객체 자기 자신을 가리킨다.객체밖에서 this가 사..
JAVASCRIPT ) this this는 함수가 어디서 호출되었느냐에 따라 그 값이 달라집니다. 이는 자바스크립트에서 유연하면서도 혼동될 수 있는 중요한 개념 중 하나입니다.this는 기본적으로 다양한 상황에서 가리키는 대상이 달라집니다. 객체안에서의 this객체안에서의 this는 객체 자신을 가리킵니다.const adder = { inV1: 1, inV2: 2, totalV: 0, print: function(){ this.totalV = this.inV1 + this.inV2; document.write(this.totalV); }}adder.print()//3 const adder = { inV1: 1, inV2: 2, totalV: 0, print: function(my..
JAVASCRIPT ) 삼항연산자 삼항연산자는 조건별 변수 대입에 사용한다. 조건 ? 참일때 실행 : 거짓일때 실행  아래 예제는 if문을 삼항연산자로 변환한 코드이다. if(myV>1000){ document.write('커');} else { document.write('작아');} let myV = 999;let resultS = myV>1000 ? '커' : '작아'document.write(resultS);  삼항연산자는 조건별 변수 대입에 사용해야한다. 따라서 아래처럼 사용하면 안된다.물론 동작은 된다. (myV > 1000) ? document.write('커') : document.write('작아');  그럼 이렇게 사용하는건? document.write(myV>1000 ? '커' : '작아'); 가능하다. 변수 대입에 ..
JAVASCRIPT ) 날짜 시간 let currentTime = new Date();let myTime = new Date('2024-12-31'); //2024/12/31 === 2024-12-31document.write(currentTime + ""); //현재 시간의 ms를 가지고 있고 화면은 운영체제에 따라 임의의 형식으로 표시document.write(myTime + "");document.write(currentTime.getFullYear() + ""); //연도document.write(currentTime.getMonth() + ""); //월document.write(currentTime.getDate() + ""); //일document.write(currentTime.getDay() + ""); //요일 0(일)..
JAVASCRIPT ) 이벤트 onclick마우스 클릭ondblclick마우스 더블클릭onchangevalue값이 변경되면onkeydown키보드 딸onkeyup키보드 깍onkeypress키보드 딸깍   0 C ( ) ">> 7 8 9 / 4 5 6 X 1 2 3 - 0 . = +