JS / 01 / 기초-4

DOMADO·2024년 6월 6일
0

JS

목록 보기
5/16
post-thumbnail

✅ JS의 독특한 연산자 !

① == : 데이터 타입을 고려하지 않고 값만 놓고 비교

  • '문자열' / 숫자열 구분 안 하고 값만 놓고 비교

  • '문자열' / 숫자열 비교시, 숫자열을 자동으로 '문자열'로 변환해서 비교

  • 개발자들은 대부분 == 사용 : 개발시, 숫자와 문자를 비교할 일이 거의 없어서


①-ⓐ != : 데이터 타입을 고려하지 않고 값만 놓고 비교

  • '문자열' / 숫자열 구분 안 하고 값만 놓고 비교
  • '문자열' / 숫자열 비교시, 숫자열을 자동으로 '문자열'로 변환해서 비교

② === : 데이터타입, 값 모두 비교한다

  • 권장사항
  • '문자열' / 숫자열 비교시, 자동으로 형변환 하지 않는다.

②-ⓐ !== : 데이터타입, 값 모두 비교한다

  • 권장사항
  • '문자열' / 숫자열 비교시, 자동으로 형변환 하지 않는다.

let num1 = 10 ;         #숫자 10
let num2 = "10" ;       #문자열 10

            
console.log(num1 == num2);   👉 True 뜸 : 자동으로 숫자를 문자로 형변환함
console.log(num1 === num2);  👉 False 뜸 : 문자열, 숫자 따로 봄

console.log(num != num2) ;  👉 False 뜸 : 자동으로 숫자를 문자로 형변환함
console.log(num !== num2) ; 👉 True 뜸 : 문자열, 숫자 따로 봄

③ &&(and 연산자)

  • 두개 모두 true 만족해야 true 출력
  • 앞에서 false 나오면, 뒤에 true가 나와도 👉 false

true && true는 = true 반환
true && false는 false 반환
false && true는 false 반환
false && false는 false 반환


④ ||(or 연산자)

  • 조건 중 하나라도 true가 나오면 👉 true 출력
  • 모두 false 면, 👉false 출력

true || true는 true를 반환
true || false는 true를 반환
false || true는 true를 반환
false || false는 false를 반환


⑤ !(not 연산자)

  • ture, false 값을 반환할 때, 앞에 ! 붙으면 👉 반대값 출력

let x = true ;
let y = !x ; 👉 y는 false가 됩니다.
console.log(y); // 출력 결과: false

let a = false ;
let b = !a ; 👉 b는 true가 됩니다.
console.log(b) ; // 출력 결과: true


✅ JS에서 '배열' 이란 ?

  • '같은 의미'를 가진 데이터를 묶어서 저장하는 공간

  • 타입을 명시하지 않는다, 크기를 지정하지 않는다.

  • 모든 데이터를 담을 수 있다, 크기가 동적으로 증가한다.

  • 데이터를 조회할 때는 '인덱스 번호' 를 활용한다 !


let arr = [1,2,3,4,5] ;
let arr2 = ["김철수","박민지",10,true,[1,2]] ;

arr2[0]   👉 "김철수" 추출


[ ❗️ ] 특정 위치에 데이터를 변경하고 싶은 경우
► 대입을 이용하면 된다.


arr2[0] = "김짱구" ;    👉 ["김짱구","박민지",10,true,[1,2]] ;


[ ❗️ ] 배열의 크기(길이)를 알고 싶을 때
► .length 라는 '키값' 을 통해 구한다

arr2.length  👉 5 

[ ❗️ ] .length 는 함수가 아니에요 !!

  • 함수는 소괄로 () 로 특정 값을 받아와야해요.

  • 변수 . 쌀라쌀라 👉 해당 변수(객체)의 쌀라쌀라에 진입(이용)하겠다.
    = 객체의 키값을 가져오겠다는 거구나. [모든 언어 공통]
    = 이름.Key 👉 객체형태의 데이터이다.


✅ 배열의 유용한 함수들

1️⃣ 인덱스의 맨 마지막의 값에 데이터를 누적하는 함수 [ ⭐️ ⭐️ ]

  • .push(매개변수)
  • 크기를 지정 x, 동적으로 증가한다 특성으로 사용 가능하다.
let arr = [1,2,3]
arr.push("데이터") ;           👉 [1,2,3,"데이터"]

⭐️ 알고리즘적 사고

① 소괄로가 있네? 함수다.
② 내가 데이터를 변수 마지막 값에 추가하고 리턴데이터를 받나? 👉 ❌
③ 아! 그럼 매개변수가 필요하겠구나 ! (소괄로 안에)


2️⃣ 인덱스의 맨 마지막 값을 빼는 함수

  • .pop()
  • 뺀 마지막 값이 리턴 된다 ! => 변수에 담아서 사용
  • 주의점 : 원본 배열의 데이터에서는 삭제된다 !
let arr = [1,2,3,"데이터"]
arr.pop()                    👉 [1,2,3]

⭐️ 알고리즘적 사고

① 소괄로가 있네? 함수다.
② 내가 실행시, 리턴데이터를 받나? 👉 ⭕️ (제거된 값)
③ 아! 그럼 매개변수가 필요없겠구나 ! (소괄로 안에)


3️⃣ 특정 데이터가 포함이 되어있는지 여부를 검사

  • .includes(매개변수)
  • boolean 타입의 true,false 로 리턴데이터를 반환한다
  • boolean 타입으로 받으면, 조건문으로 처리한다
let arr = [1,2,"love"]
arr.includes("love")           👉 true 반환

⭐️ 알고리즘적 사고

① 소괄로가 있네? 함수다.
② 내가 실행시, 리턴데이터를 받나? 👉 ⭕️ (ture 또는 false)
③ 아! 그럼 매개변수가 필요없겠구나 ! 👉 ❌
④ true 또는 false 값을 리턴 받으려면, 내가 매개변수를 넣어야겠구나! 👉 ⭕️


3️⃣ 배열 중에 특정 데이터의 인덱스 번호를 조회

  • .indexOf(매개변수)
let arr = [1,2,"love"]
arr.indexOf("love")           👉 인덱스 번호 2 반환

⭐️ 알고리즘적 사고

① 소괄로가 있네? 함수다.
② 내가 실행시, 리턴데이터를 받나? 👉 ⭕️ (인덱스 번호)
③ 아! 그럼 매개변수가 필요없겠구나 ! 👉 ❌
④ 인덱스 번호를 리턴 받으려면, 내가 매개변수를 넣어야겠구나! 👉 ⭕️

profile
▪️ 검정 테마를 기준으로 작성되었읍니다.

1개의 댓글

comment-user-thumbnail
2024년 6월 16일

06.16 들렸다 갑니다 ~ 🤍

답글 달기