티스토리 뷰

원시값의 메서드

원시값

문자(string) 숫자(number) bigint 불린(boolean) 심볼(symbol) null undefined

 

객체 

프로퍼티에 다양한 종류의 값 저장 

 

원시값을 객체처럼 사용

원시값은 원시값 그대로 남겨 단일 값 형태 유지

문자열,숫자,불린,심볼의 메서드와 프로퍼티에 접근 할 수 있도록 언어 차원에서 허용

원시값이 메서드나 프로퍼티에 접근하려하면 추가기능을 제공해주는 특수한 객체 "원시 래퍼 객체"를 만들어줌

원시 래퍼 객체는 곧 삭제

 

string number boolean 생성자로 쓰지말자 !

null undefined 메서드 없음 !

 

숫자형

모던js는 숫자를 나타내는 두가지 자료형을 지원함

일반적 숫자 배정밀도 부동소수점 숫자 64비트형식

임의 길이를 가진 정수 bigint (일반적 숫자는 253이상이거나 -253이하일 수 없다는 제약 때문에 BigInt라는 새로운 자료형이 만들어짐)

 

let billion = 1e9;  // 10억, 1과 9개의 0

alert( 7.3e9 );  // 73억 (7,300,000,000)

1e3 = 1 * 1000
1.23e6 = 1.23 * 1000000

let ms = 1e-6; // 1에서 왼쪽으로 6번 소수점 이동

 

e는 e의 왼쪽의 수에 e오른쪽에 있는 수만큼 10의 거듭제곱을 곱하는 효과 있음

 

16진수, 2진수, 8진수

alert( 0xff ); // 255
alert( 0xFF ); // 255 (대·소문자를 가리지 않으므로 둘 다 같은 값을 나타냅니다.)


let a = 0b11111111; // 255의 2진수
let b = 0o377; // 255의 8진수

alert( a == b ); // true, 진법은 다르지만, a와 b는 같은 수임

16진수는 0x를 사용해 표현가능, 8진수 0o, 2진수0b

 

tostring(base)

num.string(base)메서드는 base진법으로 num 표현후 문자형으로 변환해 반환

let num = 255;

alert( num.toString(16) );  // ff
alert( num.toString(2) );   // 11111111

alert( 123456..toString(36) ); // 2n9c
//(123456).toString(36)도 가능합니다.

base는 2에서 36까지 쓸수있고 기본값은 10

base별 유스케이스

base=16 16진수 색, 문자 인코딩 등을 표현할때 사용 숫자는0-9, 10이상의 수는a-f사용해 나타냄

base=2 비트 연산 디버깅에 주로 사용 숫자는 0또는 1이 될 수 있다

base=36 사용할수있는 base 최댓값 0-9, a-z 사용해 숫자 표현

36베이스는 url줄이는것과 같이 숫자로 된 긴 식별자 짧게 줄일때 유용 

 

점 두 개와 메서드 호출

숫자 대상으로 메서드 tostring직접 호출하고 싶다면 숫자 다음에 점 두개 붙여야함

점을 한개만 사용하면 소수부로 인식 

 

어림수 구하기

어림수 구하는것(rounding)는 숫자 다룰 때 가장 많이 사용되는 연산 중 하나

 

어림수 관련 내장 함수

Math.floor 

소수점 첫째자리에서 내림 (3.1은 3, -1.1은 -2가 됨 

Math.ceil

소수점 첫째 자리에서 올림 (3.1은 4, -1.1은 -1이 됨

Math.round

소수점 첫째 자리에서 반올림 (3.1은 3, 3.6은 4 -1.1은 -1

Math.trunc

소수부 무시 (3.1은 3, -1.1은 -1됨

 

isNaN과 isFinite

isNan 

인수를 숫자로 변환 다음 NaN인지 테스트

isFinite

인수를 숫자로 변환하고 그 숫자가 NaN/infinity/-infinity가 아닌 일반 숫자인 경우 true반환

 

문자열

따옴표

문자열은 큰따옴표,작은따옴표,백틱으로 감쌀 수 있다

템플릿 리터럴

: 표현식을${...}로 감싸고 백틱으로 감싼 문자열 중간에 넣어주면 해당 표현삭을 문자열 중간에 쉽게 삽입가능

백틱 사용시 문자열을 여러줄에 걸쳐 작성가능

 

특수기호

\n 줄 바꿈
\r 캐리지 리턴(carriage return). Windows에선 캐리지 리턴과 줄 바꿈 특수 문자를 조합(\r\n)해 줄을 바꿉니다. 캐리지 리턴을 단독으론 사용하는 경우는 없습니다.
\', \" 따옴표
\\ 역슬래시
\t
\b, \f, \v 각각 백스페이스(Backspace), 폼 피드(Form Feed), 세로 탭(Vertical Tab)을 나타냅니다. 호환성 유지를 위해 남아있는 기호로 요즘엔 사용하지 않습니다.
\xXX 16진수 유니코드 XX로 표현한 유니코드 글자입니다(예시: 알파벳 'z' '\x7A'와 동일함)
\uXXXX UTF-16 인코딩 규칙을 사용하는 16진수 코드 XXXX로 표현한 유니코드 기호입니다. XXXX는 반드시 네 개의 16진수로 구성되어야 합니다(예시: \u00A9는 저작권 기호 ©의 유니코드임).
\u{X…XXXXXX}(한 개에서 여섯 개 사이의 16진수 글자) UTF-32로 표현한 유니코드 기호입니다. 몇몇 특수한 글자는 두 개의 유니코드 기호를 사용해 인코딩되므로 4바이트를 차지합니다. 이 방법을 사용하면 긴 코드를 삽입할 수 있습니다.

 

문자열 요약

length프로퍼티엔 문자열 길이 저장됨

문자열 내의 글자 하나를 얻으려면 대괄호 []를 사용하세요.

부분 문자열을 얻으려면 slice나 substring을 사용하세요.

소문자로 바꾸려면 toLowerCase, 대문자로 바꾸려면 toUpperCase를 사용하세요.

indexOf를 사용하면 부분 문자열의 위치를 얻을 수 있습니다. 부분 문자열 여부만 알고 싶다면 includes/startsWith/endsWith를 사용하면 됩니다.

특정 언어에 적합한 비교 기준 사용해 문자열을 비교하려면 localeCompare를 사용하세요. 이 메서드를 사용하지 않으면 글자 코드를 기준으로 문자열이 비교됩니다.

이외에도 문자열에 쓸 수 있는 유용한 메서드 몇 가지가 있습니다.

str.trim() – 문자열 앞과 끝의 공백 문자를 다듬어 줍니다(제거함).

str.repeat(n) – 문자열을 n번 반복합니다.

 

 

배열

배열선언

 

let arr = new Array();
let arr = [];

let fruits = ["사과", "오렌지", "자두"]; // 초기요소 넣는 것 가능

 

대부부 두번째 방법으로 배열 선언

let fruits = ["사과", "오렌지", "자두"];

alert( fruits[0] ); // 사과
alert( fruits[1] ); // 오렌지
alert( fruits[2] ); // 자두

각 배열 요소엔 0부터 시작하는 숫자(인덱스) 매겨져있고 배열 내 순서를 나타냄

fruits[2] = '배'; // 배열이 ["사과", "오렌지", "배"]로 바뀜

fruits[3] = '레몬'; // 배열이 ["사과", "오렌지", "배", "레몬"]으로 바뀜

let fruits = ["사과", "오렌지", "자두"];
alert( fruits.length ); // 3

let fruits = ["사과", "오렌지", "자두"];
alert( fruits ); // 사과,오렌지,자두

1. 배열요소 수정가능

2. 새로운 요소 배열에 추가하는 것도 가능

3. length 사용하면 배열에 담긴 요소 몇개인지 알 수있음

4.alert사용해 요소 전체 출력가능

배열요소의 자료형엔 제약이 없다 ! 

배열의 마지막 요소는 객체와 마찬가지로 쉼표로 끝낼 수 있다

 

pop push, shift unshift

 

push: 배열 맨 끝에 요소 제거, 제거한 요소 반환

push: 배열 끝에 요소 추가

shift: 배열 앞 요소 제거, 제거한 요소 반환

unshift: 배열 앞에 요소 추가

 

push와 unshift는 요소 여러개를 한번에 더해줄 수 있다 !

pop push는 빠르지만 shift unshift는 느리다

 

 

배열과 메서드

요소 추가 제거 메서드

splice

배열에서 요소를 하나만 지우고 싶을때 

 

forEach

주어진 함수를 배열 요소 각각에 대해 실행 할 수 있게 해줌


 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함