풀뿌리 11th 3번째 TIL

WooSeong·2021년 3월 8일
0

학습 노트

목록 보기
3/22

문자열

Javascript에서 문자열은 ' ' 혹은 " " 사이에 위치한다. 컴퓨터는 function을 함수를 동작 하라는 것인지 혹은 'function'이라는 단어를 뜻하는지 구분하지 못하기 때문에 문자열임을 알려주기 위해 구분이 필요하다.

우리는 문자열을 특정 방법을 통해 조작할 수 있다. 문자열의 길이를 확인하고, 문자열에서 n번째에 위치한 문자가 무엇인지 확인할 수도 있다. 이렇게 문자열을 조회 하거나 조작하기 위해 속성과 메소드를 알아볼 필요가 있다.

속성과 메소드

속성(property)

속성은 자바스크립트의 객체와 연관 되어 있는 어떤 값이다. 속성은 객체의 특징을 정의해준다. 예를 들어 객체 바나나는 노란색, 과일, 단맛과 같은 속성을 지니고 있다.

  • 속성은 선언한 변수에 .name 과 같은 형식으로 추가해 줄 수 있다. 또한 중괄호 {} 를 통해 지정해 줄수도 있다.
let banana = new object();
banana.color = 'yellow';
banana.taste = 'sweet';
banana.type = 'fruit'; // .name 형식으로 표현

let banana = {
color: 'yellow';
taste: 'sweet';
type: 'fruit';
}; // 중괄호 형식으로 표현
  • 즉 속성은 객체에 대한 여러 특성을 의미하며 Javascript의 여러 타입들은 기본적인 속성을 지니고 있다.
  • 예를 들어, 문자열은 length 속성을 가지고 있으며, str.length를 통해 str 문자열의 길이 속성을 호출할 수 있다.

메소드(method)

메소드는 액션을 취할 수 있게 해주는 속성이다. 이를 다른 말로 하면 메소드는 함수이며 속성이다.

In JavaScript functions themselves are objects, so, in that context, a method is actually an object reference to a function.

  • 예를 들어, slice(); 는 문자열의 원하는 부분을 추출하는 메소드다.
let str = 'iamdeveloper';
str.slice(0,4); === 'iamd' 

// slice()메소드를 통해 문자열 인덱스의 0,1,2,3 을 추출

반복문

컴퓨터는 여러 부분에서 반복작업을 활용한다. 인간 보다 월등히 뛰어난 점이 바로 반복작업의 속도와 횟수다. 설령 단순한 기능을 구현한다 하여도 반복문이 없다면 몇십줄의 코드를 통해 구현해야 하지만, 반복문이 있다면 정말 압도적으로 짧은 코드를 통해 이를 구현할 수 있다.

코드를 읽는 순서

Javascript는 코드를 1번줄 부터 차례대로 순차적으로 읽어 내려간다. 이러한 순서는 반복문에서 특히나 조건문이 함께 사용된 반복문에서 고려해야 할 사항이다.

function findLetter(find) {
let str = 'iamdeveloper';
	for(let i = 0; i < str.length; i++) {
		if(str[i] === find) {
		return str.indexOf(find);
		break;
		}
	}
}
  1. findLetter 함수를 정의 (패러미터는 find이다.)
  2. str 변수에 iamdeveloper 문자열을 할당
  3. 반복문이 작동한다. (i 변수가 str 변수에 할당된 문자열 길이 만큼 반복되며 i는 1씩 증가)
  4. 만일 str문자열의 i번째 인덱스가 패러미터 find와 동일하다면
  5. str문자열의 해당 문자가 위치하는 인덱스의 번호를 리턴하고
  6. 반복문을 종료할 것

반복문의 형태와 형식

반복문은 두가지 형태를 가지고 있다. for문과 while문이다. while문은 for문을 풀어 쓴 것이라 간단히 이해할 수 있다. for문과 while문의 엄밀한 차이는 다음과 같다.

while loop - used for looping until a condition is satisfied and when it is unsure how many times the code should be in loop

for loop - used for looping until a condition is satisfied but it is used when you know how many times the code needs to be in loop

for문

for(let i = 0; i < someNumbers; i++) {
//실행할 명령
}

for문은 패러미터로 초기값; 조건문; 증감문; 세가지를 가지고 있으며 중괄호{} 내부에 반복 실행할 명령이 위치한다. 이때 명령에 조건문을 사용하여 특정 조건에서만 코드를 실행 시킬수도 있다.

while문

while(조건) {
//실행할 명령
}

while문은 패러미터로 조건문만 가지고 있다. 조건이 참이라면 while내부의 명령을 반복 실행한다. while문을 실행할때 주의할 점은 조건이 참이라면 실행되기 무조건 반복실행 되기 때문에 무한반복에 빠질수 있다는 점이다. 따라서 일정 조건이 충족되면 break;를 통해 반복을 종료 시켜주거나 반복이 종료될 조건을 부여해 주어야 한다.

이중 반복문(for 안에 for)

for(let i = 0; i < 3; i++) {
	for(let j = 0; j < 3; j++) {
	//실행할 명령
	}
}

이중 반복문을 이해하기 위해 코드 실행의 순서대로 써보면

  1. i변수를 가지고 있는 for문이 실행됨 i 에 0이 할당되며, 0은 3보다 작기 때문에 for(i)문이 실행 i는 1이 늘어남
  2. j변수를 가지고 있는 for문이 실행됨 j 에 0이 할당되며, 0은 3보다 작기 때문에 for(j)문이 실행 j는 1이 늘어남
  3. j변수를 가지고 있는 for문이 실행됨 j 에 1이 할당되며, 1은 3보다 작기 때문에 for(j)문이 실행 j는 1이 늘어남
  4. ...j가 3이 되면 조건문에 의해 거짓이 되고 for(j)가 종료됨
  5. for(i)로 돌아와서 i변수를 가지고 있는 for문이 실행됨 i 에 1이 할당되며, 1은 3보다 작기 때문에 for(i)문이 실행
  6. i가 3이 될때까지 반복

위와 같은 과정을 거치며 i = 0 에 대해 j가 3번 실행... 총 3*3 9번 반복이 실행된다. 결국 3행 3열을 가진 테이블에 각 칸에 실행 명령이 들어가 있고 모두 한번씩 실행되는 결과!

profile
성장하는 개발자를 꿈꿉니다

0개의 댓글