TIL06 JavaScript

shnae·2023년 10월 26일
1
post-thumbnail

💡 Today I Learned

조건문 및 반복문에 대해 알아보았다.
  • 새로 배움: 튜링 불완전성
  • 오늘의 하이라이트: 이더리움은 튜링 불완전성을 극복한 언어다.
  • 궁금한 내용: 튜링 완전성을 가진 프로그래밍 언어의 특장점이 무엇인가?

자바스크립트

조건문

주어진 조건에 따라 코드 블록을 실행한다

  • 조건: 소괄호 () 안에 나타내며 true,false로 구분되어야 한다
  • 코드블록: 중괄호 {}로 감싼 형태로 끝에 세미콜론 ;이 붙지 않는다

if 문

  • 하나의 조건을 제시하고, true일 동안 코드블록을 실행한다
if(true){
   console.log(“Hello World!”);
 }

if else 문

  • 하나의 조건을 제시하고, true일 동안 if문을 실행하고 false인 경우에는 else문이 실행된다.
if(true){
   console.log(“This is true!”);
 } else {
   console.log("This is false!");
 }

if else if else 문

  • 하나의 조건을 제시하고, true일 동안 if문을 실행하고 false 인 경우에는 다른 else if 문의 조건이 맞는지 확인해본다. 맞으면 실행하고 false인 경우에는 else 문을 실행한다.
let a = -10;
if (a > 0) {
	console.log('a는 0보다 큽니다.');
} else if (a < 0) {
	console.log('a는 0보다 작습니다.');
} else {
	console.log('a는 0입니다.');
}

switch 문

  • 조건에 맞는 case 안의 내용이 실행되고, 만족하지 못하는 경우 default 내용이 실행된다
  • else if, switch 문은 상호교체할 수 있지만, switch 문은 주로 조건이 숫자나 문자열일 때 사용되고 조건이 true/false일 경우에는 else if를 사용한다
let day = 7;
switch(day) {
	case 1: 
		day = "Monday";
		break;
	case 2: 
		day = "Tuesday";
		break;
	case 3: 
		day = "Wendnesday";
		break;
	case 4: 
		day = "Thursday";
		break;
	case 5: 
		day = "Friday";
		break;
	case 6: 
		day = "Saturday";
		break;
	case 7: 
		day = "Sunday";
		break;
	default: 
		day = "요일이 아닙니다.";
		break;
}
console.log(day);

반복문

일정한 로직을 반복해서 사용해야 하는 경우에 사용된다.

for 문

  • for문의 소괄호() 안에는 3개의 항목을 입력해야 한다
    1. 초기값: 반복의 기준이 될 변수를 선언 후 초기화한다.
    2. 조건: 어떤 조건을 만족할 때까지 반복한다.
    3. 증감식: 증감식에 따라서 변수가 증가하도록 한다.
for (let i = 0; i < 10; i++) {
	console.log(`${i + 1}번째 실행입니다.`);
}

while 문

  • 주어진 조건이 true인 동안에 코드블럭을 반복 실행한다.
  • for 문과 초기값, 조건, 증감식의 위치가 다르다.
  • for, while 문은 상호교체될 수 있지만, 반복횟수가 정해져있을 때에는 for문을, 정해져있지 않을 때에는 while문을 사용한다.
  • 조건이 true인 경우에는 무한루프가 발생할 수 있다. break 문을 통해 탈출할 수 있다.
let i = 0;
while (i < 10) {
	console.log(`${i + 1}번째 실행입니다.`);
	i++;
}

do while 문

  • while 문과 비슷하지만, 조건을 먼저 비교한다 vs 코드를 먼저 실행한다의 차이가 있다.
  • do while 문은 코드를 먼저 실행하고, 최소 1번은 실행한다.
let i = 0;
do {
	console.log(`${i + 1}번째 실행입니다.`);
	i++;
} while (i < 10)

break & continue

break

  • 반복문을 중단할 때 사용한다

continue

  • 특정 조건을 만족할 때에 반복문 내 코드를 수행하지 않고 다음 반복횟수로 넘어가도록 한다

튜링 불완전성

튜링 불완전성(Turing Incomplete) 이란?

튜링 완전성을 갖추려면,
튜링머신이 할 수 있는 것을 할 수 있어야 한다

  • 튜링머신은 무한한 길이를 가진 테이프로서 0,1(read,write)을 적어서 무엇이든지 컴퓨팅할 수 있는 머신을 의미한다
  1. Conditional Branching - 조건식을 사용할 수 있어야한다
  2. Arbitrary Amount of Memory - 테이프가 충분히 길어야 한다. 즉, 무한한 메모리다. 또한, 메모리 내 다른 곳으로 이동할 수 있는 능력을 내포하고 있다.
  • 이더리움은 튜링 불완전성의 한계를 극복한 언어다
  • 이더리움에서 조건문, 반복문을 비교적 자유롭게 사용할 수 있으며 스마트 컨트랙트 코드를 통해 다양한 dApp을 만들 수 있다

0개의 댓글