[TIL]20210902

박창현·2021년 9월 2일
0

TODAY I LEARNED

목록 보기
40/53

OPP의 4대 특성

캡슐화: 변수나 메소드가 목적에 집중하도록 묶은 것.
추상화: 객체의 공통적인 또는 필수적인 요소들을 뽑아내는 것.
다형성: 같은 이름으로의 실행 결과가 다양한 객체를 활용하는 것.
------ override: 기존의 메소드를 재정의 overload: 이름은 같지만, 파라미터를 변경함.
상속: 상위 클래스의 객체를 하위 클래스의 객체가 상속하여 기능 확장및 변경. (재사용)

알고리즘

11557. Yangjojang of The Year (백준)

R=int(input())
n=[]
for _ in range(R):
    cnt = int(input())
    for _ in range(cnt):
        n.append(list(input().split()))
    alcohol = sorted(n, key = lambda x: -int(x[1]))
    print(alcohol[0][0])

11656. 접미사 배열 (백준)

k=input()
a=[]

kLen=len(k)
for i in range(kLen):
    a.append(k[kLen-i-1:])

a.sort()
for i in a:
    print(i)

addEventListener 에서 submit과 click, form 과 input text

<form id="todo-form">
      <input id="todo-input" type="text" placeholder="Write your todo List and press Enter!">
    </form>
const todoForm=document.querySelector("#todo-form");
const todoList=document.querySelector("#todo-list");
const todoInput=document.querySelector("#todo-input");

function handleTodo(event){
    event.preventDefault();
}
todoForm.addEventListener("submit",handleTodo);
todoInput.addEventListener("click",handleTodo);

addEventListener을 이용할때 Form에서는 submit, input text에서는 click을 해야 정상적으로 handleTodo가 작동된다.
text 입장에서는 단순히 input 된 것이지만, form 입장에선 내부의 요소가 submit됬다고 이해.

JSON 을 통한 string으로의 변환과 js object로의 변환.

JSON.stringify() ()안에 무엇을 넣든 string으로 변환시킴.
JSON.parse() ()안에 들어간 string을 js규칙에 맞춰 변환시킴.

JSON.stringify([1, 2, 3, 4]); --> "[1, 2, 3, 4]"
JSON.parse("[1, 2, 3, 4]"); --> [1, 2, 3, 4]

localStorage에는 리스트 등은 저장할 수 없고, 오직 string만 저장할 수 있어서, 이때 유용하게 JSON을 쓸 수 있다.

"function" shortcut

if (savedTodo!=null){
  parsedTodo.forEach((element) => {
  console.log(element));
	}
}

위 코드는

function say(event){
    console.log(event);
}

if (savedTodo!=null){
    const parsedTodo = JSON.parse(savedTodo);
    parsedTodo.forEach(say);
}

이 코드를 간략히 줄인것이다.
function을 만드는 대신 forEach((element)=>{~~~element}) 을 이용해 element도 넘겨줄수있다.
이때 =>를 화살표 함수 라고 한다.

profile
개강했기에 가끔씩 업로드.

0개의 댓글