JS 기초

황지웅·2021년 11월 27일
0

javascript

목록 보기
1/9
post-custom-banner

Chapter - 변수


변수 기초

1. 변수란(variable)?

  • 데이터보관함이다.
  • 이름(label)이 붙은 값을 말 하고,선언후 할당,재할당을 통해 이용가능하다
  • var 의경우 재선언,재할당이가능하다
  • let 의경우 재선언x 재할당o
  • const 의 경우 재선언,재할당 둘다 안되고 한번에 선언과 할당이 이루어 져야함

Chapter - 타입


1. 원시자료형(primitiv, 객체가 아니면서 메서드도 가지지 않는 데이터)

  • 숫자(number) //원시자료형
  • 문자열(string) //원시자료형
  • 참거짓(boolean) //원시자료형
  • undefined //원시자료형
  • null //원시자료형
  • symbol //원시자료형
  • bigint //원시자료형

2. 참조자료형(reference data type,원시 자료형이 아닌 모든 것)

  • 참조자료형은 데이터보관함(변수)엔 주소가 저장되고,별도의 데이터보관함 인 heap에 데이터가 저장된다
  • 배열(array) // 참조 자료형
  • 객체(object) // 참조 자료형
  • 함수(function) //참조 자료형

3.typeof

  • typeof datetype 을통해 type확인이 가능하다

4.비교연산자 === 과 !==

  • 비교연산자는 불리언을 반환한다
  • ===인경우 같은지 !==인경우 같지않은지를 묻는다
  • 비교연산자 == 인경우 정확한데이터비교를 할수없으니 지양하도록 한다

Chapter - 함수


1.함수를 왜 사용하나?
반복적인 일을 해결하기위해

2.함수란 무엇인가

  • 지시사항의 코드 묶음
  • 기능의 단위
  • 입력과 출력을가진다
  • 호출시 다시 돌아(return)온다

3.함수를 어떻게 만들고 사용하나
1) 함수 선언식

function(base,height){
  let triangleArea =(base*height)/2
  return triangleArea
}

2) 함수 표현식

 const getTriangleArea =fuction(base,height){
 let triangleArea =(base*height)/2
 return triangleArea
 }

3)화살표 함수

const getTriangleArea = (base, height) =>{
 let triangleArea =(base*height)/2
 return triangleArea
}
**함수 본문에 리턴문만 있다면,**
const getTriangleArea =(base,height) =>{base*height/2}

4.함수표현식의 평가
0) 함수 선언후 /함수 표현식으로 대입 /화살표함수로 함수 제작
1) 함수호출
2) 주소를 참조해 heap에서 조회
3) 매개변수(parameter)는 호출시 전달인자(argument)로 바뀜
4) 함수의 바디 코드실행
5) 리턴값 출력


chpater -조건문


falsy한 값

  • 0
  • NaN(Not-a-Number//숫자를 계산하는 경우 문자나 숫자가 아닌 값이 들어가 결과가 꼬인경우 출력)
  • false
  • null
  • undefined
  • ''

논리 연산자

피연산자가 불린인경우 불린값반환

  • 논리연산자 or ( || )
alert( true || true );   // true
alert( false || true );  // true
alert( true || false );  // true
alert( false || false ); // false
  • 논리연산자 and ( && )
alert( true && true );   // true
alert( false && true );  // false
alert( true && false );  // false
alert( false && false ); // false

피연산자를 반환하는경우

1.첫 번째 truthy를 찾는 OR 연산자 ‘||’

result = value1 || value2 || value3;
  • 가장 왼쪽 피연산자부터 시작해 오른쪽으로 나아가며 피연산자를 평가합니다
  • 각 피연산자를 불린형으로 변환합니다. 변환 후 그 값이 true이면 연산을 멈추고 해당 피연산자의 변환 전 원래 값을 반환합니다.
  • 피연산자 모두를 평가한 경우(모든 피연산자가 false로 평가되는 경우)엔 마지막 피연산자를 반환합니다

2.첫 번째 falsy를 찾는 AND 연산자 ‘&&’

result = value1 && value2 && value3;
  • 가장 왼쪽 피연산자부터 시작해 오른쪽으로 나아가며 피연산자를 평가합니다.
  • 각 피연산자는 불린형으로 변환됩니다. 변환 후 값이 false이면 평가를 멈추고 해당 피연산자의 변환 전 원래 값을 반환합니다.
  • 피연산자 모두가 평가되는 경우(모든 피연산자가 true로 평가되는 경우)엔 마지막 피연산자가 반환됩니다.

조건부 연산자'?'

let result = condition ? value1 : value2;
  • 조건에 따라 다른 값을 변수에 할당해주고 싶을때
let user ={name:'jiwwong',age:26};
let accessAllowed = (user.age > 18) ? 'yes' : 'no';
console.log(accessAllowed)// yes

조건문사용시 순서

  1. 가장 지엽적인 조건을 순서대로 작성한다.

chapter - 문자열


``(백틱)장점

  • 줄바꿈을 허용한다
  • ${변수}이용 가능

문자열 메소드

1.특정위치접근/변경 불가

let desc ='안녕하세요';
desc[2]//'하'
desc[4]='용';
console.log(desc) ;//'안녕하세요'

2.toUpperCase()/toLowerCase()
대문사나 소문자로 바꿈,원본 안바뀜

let str = 'My name is'
str.toUpperCase()
str.toLowerCase()

3.str.indexOf(text)
text가 있으면 첫번쨰 text의 인덱스 반환,없으면 -1

4.str.trim():앞 뒤 공백제거

5.str.repeat(n): str을 n번 반복

6.str.incloudes(text) str에 text가있으면 true/없으면 false

7. str.length:문자열의 길이를 반환

8.str.slice(start,end)

  • str.slice(2)
    str의 2번째인덱스부터 끝까지
  • srt(1,3)
    sratr는인데스포함,end는 인덱스 미포함
    첫번째인덱스부터 3번째인덱스전까지
  • str.slice(2,2)
    str의 2번째인덱스부터 2번째인덱스미포함까지 => ''
  • str.slice()
    인덱스가 초과한경우 빈값반환
  • srt.slice(1,-1)
    첫번째인덱스부터 배열의끝에서부터 매기는 인덱스까지

9.str.substring()

  • 기본적인 틀은 slice와 같음

10.str.split()

  • 문자열을 배열로 바꿈
  • 구분자를 이용해 배열을 여러형태로 담을 수 있음
const str = 'The quick brown fox jumps over the lazy dog.';
const words = str.split(' ');
console.log(words[3]);
// expected output: "fox"
const chars = str.split('');
console.log(chars[8]);
// expected output: "k"
const strCopy = str.split();
console.log(strCopy);
// expected output: Array ["The quick brown fox jumps over the lazy dog."]

11.str.join()

  • 배열의 모든 요소를 연결해 하나의 문자열로 만듦.
const elements = ['Fire', 'Air', 'Water'];
console.log(elements.join());
// expected output: "Fire,Air,Water"
console.log(elements.join(''));
// expected output: "FireAirWater"
console.log(elements.join('-'));
// expected output: "Fire-Air-Water"
console.log(elements.join(' '));
// expected output: "Fire Air Water"

chapter -반복문


0.반복문을 언제 사용하나?

  • 같거나 비슷한 코드를 여러번 실행시켜야 할 경우

1.반복문 for

for(처음;조건식(반복문의동작기간);마지막(증감문) ){
  반복할 내용
}

2.반복문 while

let i =0 //반복문카운터 변수선언
while(조건식){ 
 반복할내용
 i++(증감문)
}

3.반복문 for과 while의 차이

반복횟수가 정해진 경우 for을 쓰고 무한루프나 특정 조건에 만족할 때까지 반복해야 하는 경우 while을 사용함

4.continu와 breake

  • break
    break를 사용하면 언제든 원하는 때에 반복문을 빠져나올 수 있다.
let sum = 0;
while (true) {
  let value = +prompt("숫자를 입력하세요.", '');
  if (!value) break; // (*)
  sum += value;
}
alert( '합계: ' + sum );
  • continue
    continue는 현재 반복을 종료시키고 다음 반복으로 넘어가고 싶을 때 사용할 수 있습니다
for (let i = 0; i < 10; i++) {
  // 조건이 참이라면 남아있는 본문은 실행되지 않습니다.
  if (i % 2 == 0) continue;
  alert(i); // 1, 3, 5, 7, 9가 차례대로 출력됨
}

5.이중 반복문

바뀌는변수가 두개이면 이중반복문을 떠올려라

post-custom-banner

0개의 댓글