프론트엔드-코드 237

Number(), parseInt() 차이

Number()는 문자열 중 숫자랑 문자랑 섞여있으면 아예 NaN임. 근데 parseInt()는 문자열중 숫자랑 문자랑 섞여있어도 문자열을 만나기 전까지 숫자로 변환 후 반환. console.log(parseInt('15a')); console.log(Number('15a')); parseInt()는 15나옴. Number()는 그냥 NaN parseInt()에서 숫자를 추출해서 읽는게 아니라, 문자열 처음부터 순서데로 읽으면서 문자열을 만나기 전 까지만 숫자로 하는 거기 때문에, console.log(parseInt('a15')); 이런건 parseInt()라도 NaN임. parseInt() 저거 15px 이런 거 불러올 때 좋을 듯.

isNaN() 숫자인지 아닌지 여부

let n = Number('x'); console.log(n); console.log(isNaN(n)); 애초에 근데 Number(숫자아닌거) 하면 NaN으로 반환하긴 함. console.log(isNaN('X')); console.log(isNaN('15')); console.log(isNaN(15)); console.log(isNaN('a15')); 참고로 '15'라도 문자열 안에 숫자만 있으면 숫자로 인식 하는 듯. 이거 쓰는 이유는, 예를 들어 'x' === NaN 이렇게 하면 false임. 왜냐하면 NaN 타입이 아니기 때문. 그래서 isNaN()으로 숫자와 숫자 이외 명확히 구분해 주는거임. 참고로, console.log( 15 instanceof Number); 이건 당연히 15는 원시타입..

Symbol

고유한 값을 가지고 싶을 때? 사용한다고 한다. UUID 같은 건가? 예를 들면 DB에 id(로그인 아이디 말고)를 0, 1, 2 이런 거 대신 Symbol로 저장해주는 뭐 그렇게도 사용하기도 하나 봄. const id = Symbol('id'); const id2 = Symbol('id'); console.log( id.description ); 생성할 때 안에 넣는 건 description, 설명임. id라고 나옴. Symbol이 생성한 임의의 값좀 볼려고 했더니toString해도 숨겨져 있다. 보안때문에 보지 못하도록 막아놨다. 같은 심볼을 공유하게끔도 할 수 있다. const id1 = Symbol.for('id'); const id2 = Symbol.for('id'); console.log(id..

@mixin 변경 및 추가

@mixin left-top{ position: absolute; top: 0; left: 0; @content; } .container{ @include left-top; width: 300px; height: 300px; background-color: brown; .box{ width: 200px; height: 200px; background-color: yellow; @include left-top{ bottom: 0; right: 0; margin: auto; } } } 저렇게 @content 넣어두면 @include 할 때 변경이나 추가를 할 수 있다. 물론 left-top 자체가 바뀌는 건아님. 사실 .box{ width: 200px; height: 200px; background-colo..

map (오브젝트 형태)

$map : ( o : orange, r : red, b : blue ); .box:nth-of-type(1){ background-color: map-get($map, o); } .box:nth-of-type(2){ background-color: map-get($map, r); } .box:nth-of-type(3){ background-color: map-get($map, b); } map-get(오브젝트, 필드이름) 으로 값에 접근할 수 있다. 이거 말고도 많음. 맵 모든 값 return, 모든 key return, 해당 키가 있는지 true or false 등 https://homzzang.com/b/sass-13 홈짱닷컴 홈페이지 제작, 그누보드 강의, 웹코딩, HTML, CSS, JAVASC..