문자열, 숫자, 형변환, 연산자

DONI·2021년 11월 4일
0

JavaScript / jQuery

목록 보기
4/18
post-thumbnail

🏹 문자열 관련 함수

함수설명
toUpperCase()대문자로 변환
toLowerCase()소문자로 변환
charAt(n)특정 인덱스에 위치한 문자 반환
indexOf(x)특정 값과 일치하는 시작 인덱스 반환
  -1 : 일치하는 값이 존재하지 않음
includes(x)특정 값을 포함하면 true, 포함하지 않으면 false 반환
substr(i, j)시작 인덱스부터 해당 길이만큼의 문자열 반환
substring(i, j)시작 인덱스부터 종료 인덱스 -1 까지의 문자열 반환
split(",")구분자를 기준으로 문자열을 나누어 배열로 반환
replace("a", "b")패턴과 일치하는 부분이 교체된 새로운 문자열 반환
  - 문자열 : 첫 번째 문자열만 치환
  - 정규표현식 : global 플래그 포함 시 전체 치환
replaceAll("a", "b")패턴과 일치하는 모든 부분이 교체된 새로운 문자열 반환
정규표현식 작성 시 반드시 global 플래그 포함
repeat(n)주어진 횟수만큼 반복하여 새로운 문자열로 반환
charCodeAt()문자를 유니코드 값의 UTF-16 코드로 변환
codePointAt()문자를 코드 포인트 값으로 변환
String.fromCharCode()유니코드 값의 UTF-16 코드를 문자로 변환
String.fromCodePoint()숫자를 코드 포인트에 해당하는 문자로 변환
x.localeCompare(y)문자열 비교
  - x가 y보다 크면 1
  - x와 y가 같으면 0
  - x가 y보다 작으면 -1

🏹 숫자 관련 함수

함수설명
isNaN(n)값이 NaN이면 true, 아니면 false 반환
toFixed(x)소수점 x자리까지 반환
Math.random()난수 발생
Math.ceil(n)소수점 첫째 자리에서 올림 (정수 반환)
Math.floor(n)소수점 첫째 자리에서 내림 (정수 반환)
Math.round(n)소수점 첫째 자리에서 반올림 (정수 반환)
Math.trunc(n)소수점 첫째 자리에서 버림 (정수 반환)
Math.max(x, y)최댓값 반환
Math.min(x, y)최솟값 반환
Math.abs(x)절댓값 반환
Math.pow(x, n)거듭제곱 값 반환
  - n : 거듭제곱 횟수
Math.sqrt(x)제곱근 반환

🏹 문자열 → 숫자 형변환 함수

함수설명
parseInt("n")문자열 → 정수 반환
parseFloat("n")문자열 → 정수, 실수 반환
Number("n")문자열 → 정수, 실수 반환

  🔎 Number( )는 내장 객체이지만 함수처럼 사용할 수 있다.


🏹 숫자 → 문자열 형변환 함수

함수설명
x.toString()숫자 → 문자열 반환
String(x)숫자 → 문자열 반환

  🔎 String( )은 내장 객체이지만 함수처럼 사용할 수 있다.


🏹 동등 / 동일 비교 연산자

  • 동등 비교 연산자 (==, !=) : 자료형에 관계 없이 값이 같으면 true
  • 동일 비교 연산자 (===, !==) : 자료형과 값이 모두 같으면 true

🏹 전개 연산자

배열의 요소나 객체 값을 각각의 필드로 변환하여 나열하는 연산자로,
원본에 영향을 주지 않고 배열이나 객체의 복사본을 만들 수 있음

   예) const arr = [1, 3, 2, 4, 6, 5];
        return Math.max(...arr);


🚩 소스코드1 - 진법 변환

  • 10진수에서 n진수로 변환 → toString(n)
const decimal = 100;	// 10진수

const binary = decimal.toString(2);	// 2진수 변환 (1100100)
const octal = decimal.toString(8);	// 8진수 변환 (144)
const hexa = decimal.toString(16);	// 16진수 변환 (64)
  • n진수에서 10진수로 변환 → parseInt(x, n)
const binary = 1100100;	// 2진수
const octal = 144;		// 8진수
const hexa = 64;		// 16진수

const dec1 = parseInt(binary, 2);	// 2진수 → 10진수 변환 (100)
const dec2 = parseInt(octal, 8);	// 8진수 → 10진수 변환 (100)
const dec3 = parseInt(hexa, 16);	// 16진수 → 10진수 변환 (100)

🚩 소스코드2 - 문자열 연산 성능 비교

+= 연산자는 두 문자열을 합친 새로운 문자열을 만들고, 새로운 메모리 위치에 저장함과 동시에 기존 문자열에 대한 참조를 변경하는 연산을 반복적으로 실행해야 한다. 하지만 Array.join() 메서드는 비교적 메모리에 효율적으로 접근할 수 있는 배열을 사용하여, 배열에 저장된 문자열을 모두 합쳐 하나의 문자열을 생성하고 저장한다.

  • 연산자 이용
let str = "";
for (let i = 0; i < 100; i++)
  	str += "haram";
  • 메서드 이용 성능 우위!
let arr = [];
for (let i = 0; i < 100; i++)
  	arr[i] = "haram";
arr.join("");

  📑 참고 블로그
   [자바스크립트] 성능을 높이는 코드 스타일

profile
틀린 내용이 있다면 댓글 또는 이메일로 알려주세요 ❤ꔛ❜

0개의 댓글