자바스크립트 기초 3

공부는 혼자하는 거·2021년 5월 2일
0

생성자 함수

이러한 객체를 여러개 만들어야 할 필요가 있을시 생성자 함수를 이용하며 훨씬 편리하게 구현할 수 있다.

자바 Class랑 별 차이 없는 것 같다. 접근제어자는 따로 없나?

요건 봐도봐도 적응이 안 되네. 암튼 변수에 함수를 배정하는 자바스크립트만의 문법.

Computed property

요렇게 식 자체를 넘겨주는 것도 가능

위처럼 객체를 복사해서 cloneUser에 들어가는 것이 아니라 user의 참조값을 user와 cloneUser 둘 다 공유, cloneUser.name = "Tom" 으로 바꾸면 user 의 name도 바뀜. 이는 자바스크립트 메모리 할당과정을 보면 당연한 결과

이럴 경우 동일하게 복제하려면 Object.assign 함수를 사용해야 한다.

이렇게 추가하는 것도 가능하고, 만약 같은 키 값이면, 덮어씌어짐

위처럼 복수개의 객체를 복제할 수도 있다.

심볼

요렇게도 넣을 수 있다. 여기서 user[id] 하면 잘 나오지만,

위와 같은 함수등은 symbol을 건너뛴다. 어떤 경우에 사용할까? 특정 객체에 원본 데이터는 건드리지 않고 속성을 추가할 수 있다는 점이..

숫자, 수학 method

https://www.youtube.com/watch?v=ZI6TT93wggA&ab_channel=%EC%BD%94%EB%94%A9%EC%95%99%EB%A7%88

Math 내장 객체 활용하기
Math.ceil() // 소수점 상관없이 올림
let num = 5.1;
Math.ceil(num); //6
Math.floor(num); //5

Math.rount() // 반올림
Math.round(num) // 5

소수점 자릿수 표현
let num2 = 30.12345
num2.toFixed(2); //30.12  셋째 자리에서 반올림
주의사항은 toFixed는 문자열을 반환. 그래서 아래처럼 많이 사용
Number(num2.toFixed(2));

isNaN() - 매개변수가 숫자인지 검사하는 함수입니다.(NaN은 Not a Number입니다.)
isNaN( value ) //반환값은 true false 숫자면 false

parseInt //숫자로 변환
Number()와 다른점은 문자가 포함되어있어도 읽을 수 있는데까지 읽고 동작
let num3 = '10px';
Number(num3) //NaN    parseInt(num3) //10 
대신 숫자로 시작하지 않으면, parseInt도 NaN을 반환
두번째 매개변수는 진수를 결정
parseFloat()


Math.random();  //0~1 사이 난수
Math.floor(Math.random()*100)+1; //1~100 사이 난수

Math.max Math.min Math.abs//절대값 Math.pow //제곱 Math.squrt//제곱근

문자열

벡틱은 여러줄을 표현할 수 있음, 벡틱 안쓰면 /n 으로 한줄로만 표현해야함


length //문자열 길이
desc[2] //특정위치 접근
toUpperCase, toLowerCase
indexof('if') // 특정문자열의 첫번쨰 위치를 반환
str.slice(n,m)
str.substring(2,5);  //slice와 거의 유사, 차이점은 n과 m을 바꿔도 동작
str.substr(n,m) //n부터 시작해서 m개를 가져옴
str.trim() //앞 뒤 공백 제거
str.repeat(n) //n번 반복


indexof() 유의사항은 Hi가 첫 문자열이면 0을 반환하니 if문에서는 false임. 그래서 아래처럼 비교하삼

문자열 비교는 십진법을 기준

동등연산자('==' 또는 '===')

=='는 비교하는 두 개의 값(피연산자)을 강제로 같은 형으로 변환한 후, 비교를 수행합니다.
즉, 두 값의 타입이 다르더라도, 형 변환된 값이 같다면 true를 리턴합니다.
'==='는 비교하는 두 개의 값(피연산자)의 타입과 값이 모두 같을 경우에만, true를 리턴합니다.

profile
시간대비효율

0개의 댓글