분류 전체보기

    TIL] 2021/07/31

    오늘의 공부 오늘은 제로초님 자바스크립트 강의를 들으며 숫자야구게임과 계산기를 만들었습니다. 기초적인 부분에 대해서 제가 잘 알지 못한다는 것을 인지하는 계기가 되었고 더욱 분발해야겠다는 생각이 들었습니다. 그리고 드림 코딩 엘리님의 타입스크립트 강의를 들으며 타입스크립트 기본 타입에 대하여 공부하였습니다. 타입스크립트는 정말 흥미로운 것 같습니다. 기존 자바스크립트에서 불편했던 점들을 보완했다는 느낌이 굉장히 크게 느껴졌습니다. 알고리즘 문제도 자바스크립트를 이용하여 풀었는데 순서도를 그리면서 알고리즘 문제를 푸는 게 큰 도움이 되는 것 같습니다. 순서도를 그리는게 정말 중요하단 것을 느꼈습니다! 오늘도 모던 자바스크립트 함수 파트를 완독 하지 못했습니다...🤦‍♂️ 어제 (정확히 말하자면 7/31 새..

    TIL] 2021/07/30

    오늘의 공부 오늘은 제로초님의 자바스크립트 강의를 들으며 자바스크립트를 이용하여 끝말잇기 게임을 만들고 드림 코딩 엘리님의 타입 스크립트 강의를 듣고 다음 주부터 진행할 미니 프로젝트의 API를 설계하고 와이어프레임을 생성하고 자바스크립트로 알고리즘 문제를 한 문제 풀고 모던 자바스크립트 함수 파트를 읽었습니다. 다른 목표들은 모두 완수했지만 모던 자바스크립트 함수 파트를 완독 하는 것을 못했습니다....🤦‍♂️ 아무래도 제가 시간 할당을 잘못한 것 같습니다....🤦‍♂️ 다시는 이런 실수를 반복하지 않도록 노력하겠습니다... 하루를 마치고 TIL을 쓰는 것은 정말 즐거운 일인 것 같습니다. 내일의 목표 자바스크립트 공부 타입스크립트 공부 모던 자바스크립트(딥다이브) 함수 파트(완독!!!!) 알고리즘 공부

    TIL] 2021/07/29

    오늘의 공부 오늘은 자바스크립트 기초에 대한 강의를 메인으로 공부를 하였습니다. 또한 자바스크립트 문법과 친숙해지기 위해 자바스크립트로 알고리즘 문제를 풀었습니다. 자바스크립트로 알고리즘 문제를 풀면 확실히 쉬운 문제도 접근이 아직 힘든 것 같습니다. 문법이 우선 익숙하지 않고 파이썬에서 풀던 습관이 남아있는 것 같습니다! 자바스크립트와 얼른 친해져서 알고리즘 문제를 풀 때 문법 때문에 접근이 힘든 경우가 없게끔 노력해야 할 것 같습니다! 오전부터 저녁까지는 자바스크립트 기초에 대한 강의를 듣고 (전체 복습하였습니다!) 원래는 하루에 한 키워드씩 모던 자바스크립트에서 배운 내용들을 TIL과 함께 정리하였지만 진도가 너무 느리게 나가서 이 방법은 비효율적인 것 같아 TIL은 앞으로 오늘 공부한 내용들을 정..

    TIL] 함수(2)

    함수를 사용하는 이유 함수는 필요할 때 여러 번 호출할 수 있습니다. 실행 시점을 개발자가 결정할 수 있고 몇 번이든 재사용이 가능합니다. 동일한 작업을 반복적으로 수행해야 한다면 같은 코드를 중복해서 여러 번 작성하는 것이 아니라 미리 정의된 함수를 재사용하는 것이 효율적입니다! 함수는 몇 번이든 호출할 수 있으므로 코드의 재사용이라는 측면에서 큰 장점이 있습니다! 또한 함수를 사용하지 않고 같은 코드를 중복해서 여러번 사용하면 그 코드를 수정해야 할 때 중복된 횟수만큼 코드를 수정해야하기때문에 함수를 사용한다는 것은 코드의 중복을 억제하고 재사용성을 높이는 유지보수의 편의성을 높이고 실수를 줄여 코드의 신뢰성을 높이는 효과가 있습니다. 함수는 객체 타입의 값입니다. 따라서 이름을 붙일 수 있습니다. ..

    TIL] 함수

    함수 함수는 자바스크립트에서 가장 중요한 핵심 개념입니다. 수학의 함수는 입력을 받아 출력을 내보내는 일련의 과정을 정의한 것입니다. // f(x, y) = x + y function add(x, y) { return x + y; } // f(2, 5) = 7 add(2, 5); // 7 프로그래밍 언어의 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것입니다. 프로그래밍 언어의 함수도 입력을 받아서 출력을 내보냅니다. 이때 함수 내부로 입력을 전달받은 변수를 매개변수, 입력을 인수, 출력을 반환값이라 합니다. 또한 함수는 값이며, 여러 개 존재할 수 있으므로 특정 함수를 구별하기 위해 식별자인 함수 이름을 사용할 수 있습니다. 함수는 정의를 통해 생성합니다. 자바..

    TIL] 객체

    객체 객체는 프로퍼티의 개수가 정해져 있지 않으며, 동적으로 추가되고 삭제할 수 있습니다. 또한 프로퍼티의 값에도 제약이 없습니다. 따라서 객체는 원시 값과 같이 확보해야 할 메모리 공간의 크기를 사전에 정해둘 수 없습니다. 변경 가능한 값 객체(참조) 타입의 값, 즉 객체는 변경 가능한 값입니다. 원시 값을 할당한 변수가 기억하는 메모리 주소를 통해 메모리 공간에 접근하면 원시 값에 접근할 수 있습니다. 원시 값을 할당한 변수는 원시 값 자체를 값으로 갖습니다. 하지만 객체를 할당한 변수가 기억하는 메모리 주소를 통해 메모리 공간에 접근하면 참조 값에 접근할 수 있습니다. 참조 값은 생성된 객체가 저장된 메모리 공간의 주소입니다. // 할당이 이뤄지는 시점에 객체 리터럴이 해석되고, 그 결과 객체가 생..

    TIL] 원시 값

    데이터 타입 자바스크립트가 제공하는 데이터 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있습니다. 원시 타입과 객체 타입은 근본적으로 다릅니다. 원시 타입과 객체 타입은 크게 세 가지가 다릅니다! 원시 타입의 값, 즉 원시 값은 변경 불가능한 값이지만 객체(참조)타입의 값, 즉 객체는 변경 가능한 값입니다. 원시 값을 변수에 할당하면 변수에는 실제 값이 저장되지만 객체를 변수에 할당하면 변수에는 참조 값이 저장됩니다. 원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달됩니다. 원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달됩니다. 이를 값에 의한 전달이라 합니다. 이에 비해 객체를 가리키는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 ..

    TIL] 프로퍼티 (3)

    프로퍼티의 축약 표현 객체 리터럴의 프로퍼티는 키와 프로퍼티 값으로 구도입니다. 프로퍼티 값은 변수에 할당된 값, 즉 식별자 표현식일 수 있습니다! var x = 1, y = 2; var obj = { x: x, y: y }; console.log(obj); ES6에서는 프로퍼티 값으로 변수를 사용하는 경우 변수 이름과 프로퍼티 키가 동일한 이름일 때 프로퍼티 키를 생략할 수 있습니다. 이때 프로퍼티 키는 변수 이름으로 자동 생성됩니다. let x = 1, y = 2; //프로퍼티 축약 표현 const obj = { x, y }; console.log(obj); // {x: 1, y: 2} 계산된 프로퍼티 이름 문자열 또는 문자열로 타입 변환할 수 있는 값으로 평가되는 표현식을 사용해 프로퍼티 키를 동적..

    TIL ] 프로퍼티 (2)

    프로퍼티 값 경신 이미 존재하는 프로퍼티에 값을 할당하면 프로퍼티 값은 경신됩니다. 프로퍼티 동적 생성 존재하지 않는 프로퍼티에 값을 할당하면 프로퍼티가 동적으로 생성되어 추가되고 프로퍼티 값이 할당됩니다. var person= { name : 'Nerd' }; preson.age = 28; console.log(person) // {name : "Nerd", age : 28} 프로퍼티 삭제 delete 연산자는 객체의 프로퍼티를 삭제한다. 이때 delete 연산자의 피연산자는 프로퍼티 값에 접근할 수 있는 표현식 이어야 한다. 만약 존재하지 않는 프로퍼티를 삭제하면 에러 없이 무시된다. var person = { name: 'Nerd' }; person.age = 20; delete.person.age..

    TIL] 프로퍼티 접근

    프로퍼티 접근 프로퍼티에 접근하는 방법은 두 가지가 있습니다! 마침표 프로퍼티 접근 연산자(.)를 사용하는 마침법 표기법 대괄호 프로퍼티 접근 연산자([...])를 사용하는 대괄호 표기법 프로퍼티 키가 식별자 네이밍 규칙을 준수하는 이름이면 마침표 표기법과 대괄호 표기법을 모두 사용할 수 있습니다. 마침표 프로퍼티 접근 연산자 또는 대괄호 프로퍼티 접근 연산자의 좌측에는 객체로 평가되는 표현식을 기술합니다. 마침표 프로퍼티 접근 연산자의 우측 또는 대괄호 프로퍼티 접근 연산자의 내부에는 프로퍼티 키를 지정합니다. var person = { name: 'Nerd' }; consol.log(person.name); // Nerd consol.log(person['name']); // Nerd 대괄호 표기법을..