Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- HTML
- react-dom
- Docker
- Grafana
- 우아한테크코스 레벨3
- javascript
- web component
- RTL8852BE
- swiper
- fastify
- 우테코
- 유한 상태 머신
- scroll-snap
- live share
- docker-compose
- Shadow DOM
- typescript
- browserslist
- Prometheus
- 데모데이
- custom element
- AX210
- 우아한테크코스
- webpack
- GitHub Pages
- CSS
- github Actions
- react
- 무선랜카드 교체
- 터치 스와이프
Archives
- Today
- Total
IT일상
javascript에서 한글에서 종성(받침)이 있는지 체크하는 방법 본문
리뉴얼 된 블로그로 보기: https://solo5star.dev/posts/39/
한글을 처리할 때 "은/는" 은 어떻게 대응할 수 있을까?
예를 들면,
* 만두일 땐 만두는
* 짜장일 땐 짜장은
즉 단어의 종성 유무를 체크해야 한다.
방법은 간단하다. 한글 유니코드 특성 상 0, 28, 56 ... 번째 글짜가 종성이 없다. 따라서 28로 MOD 연산을 했을 때 0이면 종성이 없다는 뜻이다.
function hasLastConsonantLetter(text) {
return (text.charCodeAt(text.length - 1) - "가".charCodeAt(0)) % 28 !== 0;
}
["만두", "카레", "짜장", "짜장면", "불닭볶음면", "과자"].forEach((word) => {
console.log(word + (hasLastConsonantLetter(word) ? "은" : "는"));
});
매직 넘버, 숫자 28을 기억하자!
'프론트엔드' 카테고리의 다른 글
javascript에서 RGB ↔ HSL 변환하기 (2) | 2023.04.30 |
---|---|
CSS로 카드 뒤집는 3D 애니메이션 만들기 (6) | 2023.04.29 |
React FC vs SFC vs VFC (0) | 2023.04.23 |
GitHub Actions: storybook 배포하기 (4) | 2023.04.23 |
GitHub Actions: CRA(Create React App) 빌드 + GitHub Pages 배포 자동화하기 (0) | 2023.04.23 |
Comments