[강의]Javascript - 중첩반복문, for-in, for-of, 배열, 배열 메소드, 함수

이강민·2021년 12월 16일
0

[강의]Javascript

목록 보기
4/8
post-thumbnail

중첩반복문

반복문이 2이상 겹쳐있는 문장

for(let i = 0; i<2; i++){
        for(let j = 0; j<3; j ++;){

        }
    }

배열(Array)

저장공간을 나열해놓은 형태의 자료구조
이름과 방번호(인덱스)로 참조되는 정렬된 값의 집합

배열 요소 : 배열을 구성하는 각각의 값
인덱스 : 배열에서의 위치를 가리키는 숫자

배열의 선언

  • let 배열명;
  • let 배열명 = [ ];
  • let 배열명 = new Array(값1, 값2 ....);

자바스크립트의 배열 특징

  1. 배열 요소의 타입이 고정되어 있지 않다.
 	let arr = ["김사과", 10, -1.22, true...]
  1. 배열 요소의 인덱스가 연속적이지 않아도 된다.
	let arr = [];
         arr[2] = 1; // 0,1 인덱스가 비어있는 배열 생성

배열 객체의 메소드

  • 배열명.push() : 배열의 요소를 뒤에서부터 추가함
  • 배열명.pop() : 배열의 마지막에 있는 값을 제거
  • 배열명.shift() : 배열의 첫번째에 있는 값을 제거
  • 배열명.concat() : 두개의 배열을 합친 배열 반환
  • 배열명.join() : 배열 요소 사이에 원하는 문자를 삽입한 문자열 반환
  • 배열명.reverse() : 배열을 역순으로 배치
  • 배열명.sort() : 배열을 오름차순으로 정렬
let arr  = ['apple','abcd1234','김사과']
    arr.push(10);
    //['apple', 'abcd1234', '김사과', 10]
    arr.shift();
	//['abcd1234', '김사과', 10]
    arr.pop();
	//['abcd1234', '김사과']

    //concat은 기존 배열의 원본은 그대로 놔둔다. 연결된 새로운 배열을 돌려준다.
let arr1 = [10,20,30];
let arr2 = [40,50,60];
let arr3 = arr1.concat(arr2);
    console.log(arr3);
	// [20, 30, 40, 50, 60]
    arr3 = arr3.join('★');
    console.log(arr3); //10★20★30★40★50★60
        
let arr4 = [1000,27,13,30,50];
    arr4.reverse();
    console.log(arr4); //[50, 30, 13, 27, 1000]
    //아스키코드로 비교, 사전순으로 정렬.
    arr4.sort((a,b) => a-b);
    console.log(arr4); //[13, 27, 30, 50, 1000]

빠른 for 문

for -in

for in 문(변수가 객체의 key 값을 가져오며 반복)
for(let 변수 in 객체){
요소의 갯수만큼 반복
}

let arr = [10,20,30,40,50];
 for (const i in arr) {
        console.log(arr[i]) //arr[i]를 출력해야 value를 출력할 수 있음.
 }

for -of

for of 문(변수가 객체의 요소를 가져오며 반복)
for(let 변수 of 객체){
요소의 개수만큼 반복
}

let arr = [10,20,30,40,50];
for (const data of arr) {
            console.log(data); //data를 출력해야 value를 출력할수 있음
    }

함수

하나의 특별한 목적의 작업을 수행하도록 설계된 독립적인 영역을 의미한다.
함수는 필요할 때마다 호출하여 해당 작업을 반복해서 수행하기 때문에 코드의 재활용을 가능하게 해준다. 반복되는 코드, 행위 , 기능들을 쉽게 관리하기 위해서 선언하여 사용한다.
f (x) = 2x + 1;
함수이름 매개변수 = 리턴값;

함수의 선언

function ①함수이름(②매개변수1, 매개변수2, ...){
③수행할 문장
④return 리턴값
}
① 동사형으로 작성한다.( eat("피자"), eat("떡볶이"), eat("치킨"), ... )
② 생략 가능하다. 하지만 생략시에는 외부(사용하는 곳)에서 값을 전달받을 수 없고
여러 값들을 전달받아야 할 때에는 , 로 구분하여 값의 개수만큼 선언해 준다.
사용시에는 선언된 매개변수의 개수만큼 맞춰서 값을 전달해준다.
③ 생략 가능하다.
④ 생략 가능하다.

함수 사용

선언부에 선언된 매개변수의 개수만큼 값을 넘겨주면서 사용한다.

함수명(값1, 값2, ...); //매개변수가 있는 경우
함수명(); //매개변수가 없는 경우

리턴을 사용할 때

사용하는 부분에 함수 내의 작업결과를 알려주어야 할 때
함수 내에서 모든 작업이 완료되지 않을 때
사용하는 부분에서 할 작업이 더 남았을 때

값을 리턴 받아서 작업을 계속하기 위함.

리턴을 사용하지 않을 때

함수 내에서 모든 작업이 완료될 때

함수 사용 이유

  1. 반복되는 기능, 코드들을 쉽게 관리하기 위해서
    재사용의 목적(내부에서 특정성을 부여해서는 안된다.)
  2. 소스코드 간결화(모듈화 -> 분업)

함수 선언 순서

두 정수의 덧셈 함수

1. 함수명을 생각한다.(동사 - add, get, remove...etc)
	function add(){

	}

2. 매개변수를 생각한다.
	function add(num1, num2){

	}

3. 내부에서 수행할 문장을 생각한다.
	function add(num1, num2){
		console.log('두정수의 덧셈함수');
		let result = num1+num2
	}

4. 리턴값을 생각한다.
	function add(num1, num2){
		console.log('두정수의 덧셈함수');
		let result = num1+num2
		return result;
	}
  

함수 표현식

const 함수명 = function (매개변수1, ....) {
실행할 문장
return 리턴 값.
}

  • 자바스크립트는 함수를 변수에 저장할 수 있다.
  • 자바스크립트는 script 태그를 만나면 자바스크립트를 읽고 선언된 함수를 먼저 메모리에 저장한다.
profile
AllTimeDevelop

0개의 댓글