// 개발일지 쓰기전 잡설
코딩을 공부해보고 싶어서 내일배움단으로 신청했다. 이제 1주차.
10몇년 전 대학때 C++ 기초정돈 배웠던 적이 있어서인지 아주 쉬운개념은 비슷해서 바로 이해 됬으나
무슨 최신 방식인지 뭔지 생소한것들 이 나오니까 거기서부터 이해가 안되기 시작..
근데 강의노트 고심해서 읽다보면 이해가 조금씩 되는거 같은데 좀더 봐야할거 같다.
강의노트 만세
남들 보니까 개발일지들 멋지게 써놨던데,, 공부할때마다 연습장이다 생각하고 적어봐야겠다
//
1주차 Javascript
1. 변수 선언 let
// let으로 통일 => 매우편함
// 예전에 c배울때 int인지 char인지 뭔지 뒤에 오는거 종류별로 다 따져서 선언했던거 같은데 세상 좋아졌다
2. 리스트(배열) & 딕셔너리(객체)
리스트(배열 Array): 순서를 지켜서 가지고 있는 형태
let b_list = [1,2,'hey',3] // 리스트를 선언.
// 리스트에 요소 넣기 b_list.push('헤이') -> b_list // [1, 2, "hey", 3, "헤이"] 를 출력
딕셔너리(객체): 키(key)-밸류(value) 값의 묶음
let b_dict = {'name':'Bob','age':21}// 딕셔너리 선언.
//딕셔너리에 키:밸류 넣기 b_dict['height'] = 180 -> b_dict // {name: "Bob", age: 21, height: 180}을 출력
리스트와 딕셔너리의 조합
names = [{'name':'bob','age':20},{'name':'carry','age':38}]
// names[0]['name']의 값은? 'bob'
// names[1]['name']의 값은? 'carry'
3. 함수
// 만들기
function 함수이름(필요한 변수들) {
내릴 명령들을 순차적으로 작성
}
// 사용하기
함수이름(필요한 변수들);
// 두 숫자를 입력받으면 더한 결과를 돌려주는 함수
function sum(num1, num2) {
console.log('num1: ', num1, ', num2: ', num2);
//return 으로 값을 돌려주는, 뱉는 구조로 변수에 값을 전달 할 수도 있습니다.
return num1 + num2;
}
sum(3, 5); // 8
sum(4, -1); // 3
let result = sum(10,10)
console.log(result) // 20
또다른 함수 선언 방식
let a = function(){
console.log("리터럴 방식 이라고 합니다");
}
a()
// => 이부분 당장은 이해가 안됨
4. 조건문 if, else if, else
function is_adult(age){
if(age > 20){
alert('성인이에요')
} else if (age > 10) {
alert('청소년이에요')
} else {
alert('10살 이하!')
}
}
is_adult(12)
5. 반복문
for (let i = 0; i < 100; i++) {
console.log(i);
}
for (1. 시작조건; 2. 반복조건; 3. 더하기) {
4. 매번실행
}
1 -> 2체크하고 -> (괜찮으면) -> 4 -> 3
-> 2체크하고 -> (괜찮으면) -> 4 -> 3
-> 2체크하고 -> (괜찮으면) -> 4 -> 3
-> 2체크하고 -> (괜찮으면) -> 4 -> 3
와 같은 순서로 실행됩니다.
i가 증가하다가 반복조건에 맞지 않으면, 반복을 종료하고 빠져나옵니다.
5. 함수를 더 짧게! - 화살표 함수
[기존 방식]
let a = function() {
console.log("function");
}
a();
[최신 방식]
let a = () => {
console.log("arrow function");
}
a();.
6. 딕셔너리 키와 값을 빠르게 꺼내기! - 비구조 할당
//객체
let blog = {
owner : "noah",
url : "noahlogs.tistory.com",
getPost() {
console.log("ES6 문법 정리");
}
};
//기존 할당 방식
let owner = blog.owner
let getPost = blog.getPost()
//비구조 할당 방식
let { owner, getPost } = blog;
//각각 blog 객체의 owner , getPost() 의 데이터가 할당
//blog의 키 값과 이름이 같아야 해요!
//(예 - owner가 아니라 owner2를 넣어보세요! 아무것도 안 들어온답니다.)
** 앞으로 리액트 네이티브 앱을 만들며 가장 많이 사용할 방식**
//함수에서 비구조 할당 방식으로 전달된 딕셔너리 값 꺼내기
let blogFunction = ({owner,url,getPost}) => {
console.log(owner)
console.log(url)
console.log(getPost())
}
blogFunction(blog)
7.딕셔너리를 짧게 만들어보기! - 객체 리터럴
[기존 방식]
var name = "스파르타";
var job = "developer";
var user = {
name: name,
job: job
}
console.log(user);
//{name: "스파르타", job: "developer"}
[최신 방식]
var name = "스파르타";
var job = "developer";
var user = {
name,
job
}
console.log(user);
//{name: "스파르타", job: "developer"}
8. map -반복문의 또 다른 방식
리스트(배열)를 순회하여 값을 꺼내 확인할 땐 다음과 같이 for 반복문을 사용했습니다.
let numbers = [1,2,3,4,5,6,7];
for(let i=0; i<numbers.length; i++){
console.log(numbers[i]);
}
'코딩 개발일지' 카테고리의 다른 글
[개발일지]스파르타코딩클럽_앱개발 종합반 3-3 (0) | 2022.10.11 |
---|---|
[개발일지]스파르타코딩클럽_앱개발 종합반 3-2 (0) | 2022.10.10 |
[개발일지]스파르타코딩클럽_앱개발 종합반 2-7 (0) | 2022.10.09 |
[개발일지]스파르타코딩클럽_앱개발 종합반 2-5 (다음날) (1) | 2022.10.08 |
[개발일지]스파르타코딩클럽_앱개발 종합반 2-5 (2) | 2022.10.07 |