[230330] BOM | 변수 | 형변환 | String

윤지수·2023년 3월 30일
0
post-thumbnail

🪄 BOM

  • window.alert('경고');
  • window.prompt('입력해!');
  • window.confirm('확인');
  • console.log();
  • console.info();
  • console.error();
  • console.warn();
    실행은 해주지만 경고 메세지를 보여준다
  • console.dir();
    요소가 가지고 있는 모든 속성을 보여준다
  • console.table();
    콘솔창에 데이터를 테이블 형태로 제공한다
  • console.group(); console.groupEnd();

콘솔창 꾸미기

console.log("%chello world", "color:red;font-size:32px");
console.log(
  "%chello world %chello", 
  "color:red;font-size:32px", "color:blue;font-size:16px"
 );

🪄 변수

변수는 저장공간으로 비유하면 X
포스트잇과 같이 가리키는 요소로 비유하는 것이 맞다

변수명 정할 때

  • 변수명은 $, _ 를 제외한 공백, 특수문자, 구두점(반점(,), 온점(.), 물음표(?) 등등…)을 사용할 수 없다.
    $변수명 : document 객체의 프로퍼티를 가리키기 위해서 달러사인 사용
    _: for 문 안에서 _만으로 변수명 사용하기도 함
  • 첫 글자는 숫자가 될 수 없다.
  • 대소문자를 구별한다.
  • 예약어는 절대 쓰지 않는다.(다른 분들 코드에서 에러가 나는데 에러를 잡을 수도 없음)
  • 유니코드 문자, 한글도 사용할 수 있다.(그러나 유니코드 문자는 실무에서 사용하면 사회생활 힘듦, 대부분의 개발자는 한글 코딩에 거부 반응이 있음)

변수의 특징

  • 변수를 선언 할 때는 var(가능하면 모던자바스크립트에서는 사용하지 않기), let, const의 키워드를 사용할 수 있다.
  • var, let, const 키워드는 변수를 선언할 때 한번만 사용한다.
  • var, let: 변수(변할 수 있는 수), const: 상수(변경할 수 없는 수)
  • var: 초기화가 필요 없고 재할당이 가능하다. 생략할 수도 있지만 var 키워드가 생략된 변수는 엄격모드(strict mode)에서는 에러가 발생됨으로 생략하지 않는다.
  • let, const: 블록-레벨 선언(선언된 코드 블록 밖에서 접근할 수 없음). 재정의가 불가능하다.
    • let: 재할당이 가능하다. -> 값 변경 O
    • const: 반드시 초기화가 필요하다. 재할당이 불가능하다. -> 값 변경 X, 가독성을 높임(변수의 값이 변경될 가능성이 없다는 것을 빠르게 인지할 수 있으며, 반드시 초기화를 해야하기 때문에 어떤 데이터가 사용되는지 초기에 확인 할 수 있기 때문)
const x = 10;
x = 12;			// 에러

const xx = [];
xx.push(10);	// 에러 안 남, 가리키고 있는 화살표는 그대로

변수의 타입

  • 원시타입
    string, number, boolean, undefined, null, bigint, symbol
    • bigint
// bigint: 자바스크립트가 취급할 수 있는 최대 숫자를 넘어가는 수(2^53-1보다 큰 정수)
console.log(90071992547409960n + 90071992547409960n);
// 180143985094819920n 제대로 나옴
console.log(90071992547409960 + 90071992547409960);
// 180143985094819900 제대로 안나옴

console.log(typeof 90071992547409960n);	// bigint
  • 객체타입
    array, object

🪄 형변환

  • 문자열 타입으로 변환
    String()
    (10).toString()
    (10.toString() 에러, .을 소수점으로 봄)
    문자열 연결 연산자 '' + 10

  • 숫자 타입으로 변환
    Number('10')
    parseInt('10')
    parseFloat('10.1')
    + 단항 연산자 +'10'

  • 불리언 타입으로 변환
    Boolean(10)
    !!10

🪄 String

  • txt + txt
  • txt[0]
    txt[-1] JavaScript에서는 마이너스 인덱싱을 허락하지 않는다.
  • txt.length

문자열 메소드

  • txt.indexOf()
  • txt.search()
  • txt.slice()
  • txt.substring()
  • txt.replace()
  • txt.replaceAll()
  • txt.toLowerCase()
  • txt.toUpperCase()
  • txt.includes()
  • txt.split()
  • txt.trim()
  • txt.padStart()

🪄 산술연산자/논리연산자/비교연산자

0개의 댓글