[관련 주제 추천: react 인터뷰 질문(2021)]
Q1: 가상 DOM이란 무엇인가요?
난이도: ⭐
가상 DOM(VDOM)실제 DOM, 프로그래밍 개념 및 패턴의 메모리 표현입니다. ReactDOM과 같은 라이브러리를 통해 실제 DOM과 동기화됩니다. 이 동기화 프로세스를 조정이라고 합니다.
Virtual DOM은 특정 기술이라기보다 패턴에 가깝습니다.
출처: https://github.com/sudheerj/reactjs-interview-questions
참조: https://www.javascriptcn.com/read-65385.html
Q2 :What 클래스 구성 요소와 기능 구성 요소의 차이점은 무엇입니까? / 코드>.
모든 React 구성 요소는 순수 함수여야 하며 자체props
를 수정할 수 없습니다. React는 단일 데이터 흐름입니다. 상위 구성 요소가 속성을 변경하면 하위 구성 요소 보기가 업데이트됩니다. 속성
props
는 외부 세계에서 전달되며 상태state
는 구성 요소 자체에 속합니다. 상태는 구성 요소에서 임의로 수정할 수 있습니다
The 구성 요소의 속성 및 상태 변경 보기가 업데이트됩니다.
class Welcome extends React.Component { render() { return ( <h1 id="Welcome-nbsp-nbsp-this-props-name-nbsp">Welcome { this.props.name }</h1> ); } } ReactDOM.render(<Welcome name='react' />, document.getElementById('root'));기능적 구성요소
-
props
。- 所有 React 组件都必须是纯函数,并禁止修改其自身
props
。
- 所有 React 组件都必须是纯函数,并禁止修改其自身
-
React是单项数据流,父组件改变了属性,那么子组件视图会更新。
- 属性
props
是外界传递过来的,状态state
是组件本身的,状态可以在组件中任意修改 - 组件的属性和状态改变都会更新视图。
- 属性
function Welcome (props) { return <h1 id="Welcome-nbsp-props-name">Welcome {props.name}</h1> } ReactDOM.render(<Welcome name='react' />, document.getElementById('root'));
-
函数组件(functional component)
- 函数组件接收一个单一的
props
对象并返回了一个React元素
class UnControlledForm extends Component { handleSubmit = () => { console.log("Input Value: ", this.input.value) } render () { return ( <form onSubmit={this.handleSubmit}> <input type='text' ref={(input) => this.input = input} /> <button type='submit'>Submit</button> </form> ) } }
- 函数组件接收一个单一的
区别
函数组件和类组件当然是有区别的,而且函数组件的性能比类组件的性能要高,因为类组件使用的时候要实例化,而函数组件直接执行函数取返回结果即可。为了提高性能,尽量使用函数组件。
区别 | 函数组件 | 类组件 |
---|---|---|
是否有 this
|
没有 | 有 |
是否有生命周期 | 没有 | 有 |
是否有状态 state 기능적 구성요소는 단일 props 객체를 수신하고 React 요소를 반환합니다.<pre class='brush:php;toolbar:false;'>function CustomForm ({handleSubmit}) {
let inputElement
return (
<form onSubmit={() => handleSubmit(inputElement.value)}>
<input
type=&#39;text&#39;
ref={(input) => inputElement = input} />
<button type=&#39;submit&#39;>Submit</button>
</form>
)
}</pre>
|
Difference | 물론 함수 컴포넌트와 클래스 컴포넌트 사이에는 차이가 있고 함수 컴포넌트의 성능은 The 클래스 구성 요소는 사용할 때 인스턴스화해야 하는 반면, 함수 구성 요소는 함수를 직접 실행하고 결과를 반환할 수 있기 때문에 클래스 구성 요소의 성능이 더 높습니다. 성능을 향상시키려면 기능적 구성 요소를 사용해 보십시오. |
차이 | 함수 구성요소 | 클래스 구성요소 |
---|
이
🎜🎜No🎜🎜예🎜🎜상태 코드>🎜🎜아니요 🎜🎜예🎜🎜🎜🎜<p><strong>资料来源:</strong>https://github.com/Pau1fitz/react-interview</p>
<p><strong>参考资料:</strong>https://overreacted.io/how-are-function-components-different-from-classes/</p>
<h2 id="strong-span-style-font-size-px-em-Q-em-React中的refs作用是什么-span-strong"><strong><span style="font-size: 18px;"><em>Q3</em>:React中的refs作用是什么?</span></strong></h2>
<blockquote>难度:⭐⭐</blockquote>
<p>Refs 是 React 提供给我们的安全访问 DOM 元素或者某个组件实例的句柄。<br>我们可以为元素添加 ref 属性然后在回调函数中接受该元素在 DOM 树中的句柄,该值会作为回调函数的第一个参数返回:</p><pre class='brush:php;toolbar:false;'>class UnControlledForm extends Component {
handleSubmit = () => {
console.log("Input Value: ", this.input.value)
}
render () {
return (
<form onSubmit={this.handleSubmit}>
<input
type=&#39;text&#39;
ref={(input) => this.input = input} />
<button type=&#39;submit&#39;>Submit</button>
</form>
)
}
}</pre><p>上述代码中的 input 域包含了一个 ref 属性,该属性声明的回调函数会接收 input 对应的 DOM 元素,我们将其绑定到 this 指针以便在其他的类函数中使用。<br>另外值得一提的是,refs 并不是类组件的专属,函数式组件同样能够利用闭包暂存其值:</p><pre class='brush:php;toolbar:false;'>function CustomForm ({handleSubmit}) {
let inputElement
return (
<form onSubmit={() => handleSubmit(inputElement.value)}>
<input
type=&#39;text&#39;
ref={(input) => inputElement = input} />
<button type=&#39;submit&#39;>Submit</button>
</form>
)
}</pre><p><strong>资料来源:</strong>https://github.com/Pau1fitz/react-interview<br><strong>参考资料:</strong>https://stackoverflow.com/questions/29503213/use-state-or-refs-in-react-js-form-components</p>
<h2 id="strong-span-style-font-size-px-em-Q-em-描述React事件处理-span-strong"><strong><span style="font-size: 18px;"><em>Q4</em>:描述React事件处理。</span></strong></h2>
<blockquote>难度:⭐⭐</blockquote>
<p>为了解决跨浏览器兼容性问题,React中的事件处理程序将传递SyntheticEvent实例,该实例是React跨浏览器本机事件的跨浏览器包装器。这些综合事件具有与您惯用的本机事件相同的界面,除了它们在所有浏览器中的工作方式相同。</p>
<p>有点有趣的是,React实际上并未将事件附加到子节点本身。React将使用单个事件侦听器在顶层侦听所有事件。这对性能有好处,也意味着React在更新DOM时无需担心跟踪事件监听器。</p>
<p><strong>资料来源:</strong>https://tylermcginnis.com/react-interview-questions/<br><strong>参考资料:</strong>https://www.cnblogs.com/xiangming25/p/6430461.html</p>
<h2 id="strong-span-style-font-size-px-em-Q-em-state-和-props有什么区别-span-strong"><strong><span style="font-size: 18px;"><em>Q5</em>:state 和 props有什么区别?</span></strong></h2>
<blockquote>难度:⭐⭐</blockquote>
<p>state 和 props都是普通的JavaScript对象。尽管它们两者都具有影响渲染输出的信息,但它们在组件方面的功能不同。即</p>
<ul>
<li>
<code>props
是一个从外部传进组件的参数,主要作为就是从父组件向子组件传递数据,它具有可读性和不变性,只能通过外部组件主动传入新的props
来重新渲染子组件,否则子组件的props
以及展现形式不会改变。
state
的主要作用是用于组件保存、控制以及修改自己的状态,它只能在constructor
中初始化,它算是组件的私有属性,不可通过外部访问和修改,只能通过组件内部的this.setState
来修改,修改state
属性会导致组件的重新渲染。资料来源: https://github.com/sudheerj/reactjs-interview-questions
参考资料:https://stackoverflow.com/questions/27991366/what-is-the-difference-between-state-and-props-in-react
Q6:如何创建refs?
难度:⭐⭐
Refs 是使用 React.createRef() 方法创建的,并通过 ref
属性添加到 React 元素上。为了在整个组件中使用refs,只需将 ref 分配给构造函数中的实例属性
class MyComponent extends React.Component { constructor(props) { super(props); this.myRef = React.createRef(); } render() { return <p ref={this.myRef} />; } }
和:
class UserForm extends Component { handleSubmit = () => { console.log("Input Value is: ", this.input.value) } render () { return ( <form onSubmit={this.handleSubmit}> <input type='text' ref={(input) => this.input = input} /> // Access DOM input in handle submit <button type='submit'>Submit</button> </form> ) } }
我们还可以借助闭包在功能组件中使用它。
资料来源: https://github.com/sudheerj/reactjs-interview-questions
参考资料:https://segmentfault.com/a/1190000015113359
Q7:什么是高阶组件?
难度:⭐⭐
高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件。基本上,这是从React的组成性质派生的一种模式,我们称它们为“纯”组件, 因为它们可以接受任何动态提供的子组件,但它们不会修改或复制其输入组件的任何行为。
const EnhancedComponent = higherOrderComponent(WrappedComponent);
- 高阶组件(HOC)是 React 中用于复用组件逻辑的一种高级技巧
- 高阶组件的参数为一个组件返回一个新的组件
- 组件是将 props 转换为 UI,而高阶组件是将组件转换为另一个组件
资料来源: https://github.com/sudheerj/reactjs-interview-questions
参考资料:https://css-tricks.com/what-are-higher-order-components-in-react/
Q8:constructor中super与props参数一起使用的目的是什么?
难度:⭐⭐
在调用方法之前,子类构造函数无法使用this引用super()
。
在ES6中,在子类的constructor
中必须先调用super
才能引用this
。
在constructor
中可以使用this.props
使用props:
class MyComponent extends React.Component { constructor(props) { super(props); console.log(this.props); // Prints { name: 'sudheer',age: 30 } } }
不使用props:
class MyComponent extends React.Component { constructor(props) { super(); console.log(this.props); // Prints undefined // But Props parameter is still available console.log(props); // Prints { name: 'sudheer',age: 30 } } render() { // No difference outside constructor console.log(this.props) // Prints { name: 'sudheer',age: 30 } } }
上面的代码片段揭示了this.props行为仅在构造函数中有所不同。外部构造函数相同。
资料来源:
https://github.com/sudheerj/reactjs-interview-questions
https://www.fullstack.cafe/React)
Q9:什么是受控组件?
难度:⭐⭐⭐
在HTML当中,像<input>
,<textarea></textarea>
, 和 <select></select>
这类表单元素会维持自身状态,并根据用户输入进行更新。但在React中,可变的状态通常保存在组件的状态属性中,并且只能用 setState() 方法进行更新。
非受控组件
非受控组件,即组件的状态不受React控制的组件,例如下边这个
import React, { Component } from 'react'; import ReactDOM from 'react-dom'; class Demo1 extends Component { render() { return ( <input /> ) } } ReactDOM.render(<Demo1/>, document.getElementById('content'))
在这个最简单的输入框组件里,我们并没有干涉input中的value展示,即用户输入的内容都会展示在上面。如果我们通过props给组件设置一个初始默认值,defaultValue属性是React内部实现的一个属性,目的类似于input的placeholder属性。
ps: 此处如果使用value代替defaultValue,会发现输入框的值无法改变
受控组件
同样的,受控组件就是组件的状态受React控制。上面提到过,既然通过设置input的value属性, 无法改变输入框值,那么我们把它和state结合在一起,再绑定onChange事件,实时更新value值就行了。
class Demo1 extends Component { constructor(props) { super(props); this.state = { value: props.value } } handleChange(e) { this.setState({ value: e.target.value }) } render() { return ( <input value={this.state.value} onChange={e => this.handleChange(e)}/> ) } }
资料来源:https://github.com/Pau1fitz/react-interview
参考资料:https://www.php.cn/js-tutorial-382697.html
Q10:以下使用React.createElement的等价项是什么?
难度:⭐⭐⭐
问题:
const element = ( <h1 className="greeting"> Hello, world! </h1> );
以下等同于什么使用React.createElement
?
答:
const element = React.createElement( 'h1', {className: 'greeting'}, 'Hello, world!' );
资料来源:https://github.com/Pau1fitz/react-interview
Q11:什么是JSX?
难度:⭐⭐⭐
JSX即JavaScript XML。一种在React组件内部构建标签的类XML语法。JSX为react.js开发的一套语法糖,也是react.js的使用基础。React在不使用JSX的情况下一样可以工作,然而使用JSX可以提高组件的可读性,因此推荐使用JSX。
class MyComponent extends React.Component { render() { let props = this.props; return ( <p className="my-component"> <a href={props.url}>{props.name}</a> </p> ); } }
优点:
1.允许使用熟悉的语法来定义 HTML 元素树;
2.提供更加语义化且移动的标签;
3.程序结构更容易被直观化;
4.抽象了 React Element 的创建过程;
5.可以随时掌控 HTML 标签以及生成这些标签的代码;
6.是原生的 JavaScript。
资料来源: https://www.codementor.io/blog/5-essential-reactjs-interview-questions-du1084ym1
参考资料:http://facebook.github.io/jsx/
Q12:为什么不直接更新state状态?
难度:⭐⭐⭐
如果进行如下方式更新状态,那么它将不会重新渲染组件。
//Wrong This.state.message =”Hello world”;
而是使用setState()
方法。它计划对组件状态对象的更新。状态改变时,组件通过重新渲染做出响应
//Correct This.setState({message: ‘Hello World’});
注意:可以分配状态的唯一位置是构造函数。
资料来源:https://github.com/sudheerj/reactjs-interview-questions
Q13:ReactJS生命周期有哪些不同阶段?
难度:⭐⭐⭐
React组件的生命周期分为四个不同阶段:
- 初始化:在此阶段,react组件准备设置初始状态和默认道具。
- 挂载: react组件已准备好挂载在浏览器DOM中。此阶段涵盖componentWillMount和componentDidMount生命周期方法。
- 更新:在此阶段,组件以两种方式进行更新,即发送新道具和更新状态。此阶段涵盖了shouldComponentUpdate,componentWillUpdate和componentDidUpdate生命周期方法。
- 卸载:在最后一个阶段,不需要该组件,并且可以从浏览器DOM上卸载该组件。此阶段包括componentWillUnmount生命周期方法。
资料来源: https://github.com/sudheerj/reactjs-interview-questions
Q14:ReactJS的生命周期方法是什么?
难度:⭐⭐⭐
- componentWillMount:在渲染之前执行,用于根组件中的应用程序级别配置。
-
componentDidMount:仅在客户端的第一次渲染之后执行。 这是AJAX请求和DOM或状态更新应该发生的地方。此方法也用于与其他JavaScript框架以及任何延迟执行的函数(如
setTimeout
或setInterval
)进行集成,在这里使用它来更新状态,以便我们可以触发其他生命周期方法。 -
componentWillReceiveProps:只要在另一个渲染被调用之前更新
props
就被调用。 当我们更新状态时,从setNewNumber
触发它。 - shouldComponentUpdate:确定是否将更新组件。默认情况下,它返回true。如果您确定组件在状态或道具更新后不需要渲染,则可以返回false值。这是提高性能的好地方,因为如果组件收到新的道具,它可以防止重新渲染。
- componentWillUpdate:在由shouldComponentUpdate确认返回正值的优点和状态更改时,在重新渲染组件之前执行。
- componentDidUpdate:通常用于更新DOM以响应属性或状态更改。
- componentWillUnmount:它将用于取消任何传出的网络请求,或删除与该组件关联的所有事件侦听器。
资料来源:
https://github.com/sudheerj/reactjs-interview-questions
https://www.fullstack.cafe/React)
Q15:React中的这三个点(...)是做什么的?
难度:⭐⭐⭐
...在此React(使用JSX)代码中做什么?它叫什么?
<Modal {...this.props} title='Modal heading' animation={false}>
扩展传值符号。它是在ES2018中添加的(数组/可迭代对象的传播较早,ES2015)。
例如,如果this.props包含a:1和b:2,则
<Modal {...this.props} title='Modal heading' animation={false}>
与以下内容相同:
<Modal a={this.props.a} b={this.props.b} title='Modal heading' animation={false}>
扩展符号不仅适用于该用例,而且对于创建具有现有对象的大多数(或全部)属性的新对象非常方便-在更新状态时会遇到很多问题,因为您无法修改状态直:
this.setState(prevState => { return {foo: {...prevState.foo, a: "updated"}}; });
资料来源: https://stackoverflow.com/questions/31048953/what-do-these-three-dots-in-react-do
Q16:使用React Hooks有什么优势?
难度:⭐⭐⭐
hooks 是react 16.8 引入的特性,他允许你在不写class的情况下操作state 和react的其他特性。
hooks 只是多了一种写组件的方法,使编写一个组件更简单更方便,同时可以自定义hook把公共的逻辑提取出来,让逻辑在多个组件之间共享。
Hook 是什么
Hook 是什么? Hook 是一个特殊的函数,它可以让你“钩入” React 的特性。例如,useState 是允许你在 React 函数组件中添加 state 的 Hook。稍后我们将学习其他 Hook。
什么时候我会用 Hook? 如果你在编写函数组件并意识到需要向其添加一些 state,以前的做法是必须将其它转化为 class。现在你可以在现有的函数组件中使用 Hook。
ReactHooks的优点
- 无需复杂的DOM结构
- 简洁易懂
资料来源: https://hackernoon.com/react-hooks-usestate-using-the-state-hook-89ec55b84f8c
Q17:React中的useState?
难度:⭐⭐⭐
案例:
import { useState } from 'react'; function Example() { const [count, setCount] = useState(0); return ( <p> <p>You clicked {count} times</p> <button onClick={() => setCount(count + 1)}> Click me </button> </p> ) }
语法:
function useState<S>(initialState: S | (() => S)): [S, Dispatch<SetStateAction<S>>];
其中 state 是他的值, setState 是用来设置值的函数, initialState 是初始值
useState-initialState
该初始值可以接受任何参数,但是记得当他接受为一个函数时,就变成了Lazy initialization
(延迟初始化)
该函数返回值即为initialState
const [count, setCount] = useState(0); const [count, setCount] = useState(()=>0); // 这两种初始化方式 是相等的,但是在函数为初始值时会被执行一次 const [count, setCount] = useState(()=>{ console.log('这里只会在初始化的时候执行') // class 中的 constructor 的操作都可以移植到这里 return 0 }); // 当第一次执行完毕后 就和另一句的代码是相同的效果了
useState-setState
也许很多人 在使用 class 的 setState 时候,会经常使用他的回调函数,
但是这里很遗憾,他只接受新的值,如果想要对应的回调,可以使用useEffect,这个问题等会会提供一个跳转链接
Q18:React中的StrictMode是什么?
难度:⭐⭐⭐
React的StrictMode是一种帮助程序组件,可以帮助您编写更好的react组件,您可以使用包装一些组件,<strictmode></strictmode>
并且基本上可以:
- 验证内部组件是否遵循某些推荐做法,如果不在控制台中,则会发出警告。
- 验证不赞成使用的方法,如果使用了严格模式,则会在控制台中警告您。
- 通过识别潜在风险来帮助您预防某些副作用。
参考资料:http://react.html.cn/docs/strict-mode.html
Q19:为什么类方法需要绑定?
难度:⭐⭐⭐
在JavaScript中,this
的值取决于当前上下文。在React类的组件方法中,开发人员通常希望它引用组件的当前实例,因此有必要将这些方法绑定到该实例。通常,这是在构造函数中完成的,例如:
class SubmitButton extends React.Component { constructor(props) { super(props); this.state = { isFormSubmitted: false }; this.handleSubmit = this.handleSubmit.bind(this); } handleSubmit() { this.setState({ isFormSubmitted: true }); } render() { return ( <button onClick={this.handleSubmit}>Submit</button> ) } }
资料来源: https://www.toptal.com/react/interview-questions
Q20:描述Flux与MVC?
难度:⭐⭐⭐⭐
传统的MVC模式在分离数据(模型),UI(视图)和逻辑(控制器)的关注方面效果很好,但是MVC架构经常遇到两个主要问题:
- 数据流定义不佳:跨视图进行的级联更新通常会导致纠结的事件网,难以调试。
- 缺乏数据完整性:可以从任何地方对模型数据进行突变,从而在整个UI上产生不可预测的结果。
使用Flux模式,复杂的UI不再受到级联更新的困扰。任何给定的React组件都将能够根据商店提供的数据重建其状态。Flux模式还通过限制对共享数据的直接访问来增强数据完整性。
资料来源:
https://www.codementor.io/blog/5-essential-reactjs-interview-questions-du1084ym1
https://www.fullstack.cafe/React)
Q21:React context是什么?
难度:⭐⭐⭐⭐
React文档官网并未对Context
给出“是什么”的定义,更多是描述使用的Context
的场景,以及如何使用Context
。
官网对于使用Context
的场景是这样描述的:
In Some Cases, you want to pass data through the component tree without having to pass the props down manuallys at every level. you can do this directly in React with the powerful "context" API.
简单说就是,当你不想在组件树中通过逐层传递props
或者state
的方式来传递数据时,可以使用Context
来实现跨层级的组件数据传递。
使用props或者state传递数据,数据自顶下流。
使用Context
,可以跨越组件进行数据传递。
资料来源: https://github.com/WebPredict/react-interview-questions
Q22:React Fiber是什么?
难度:⭐⭐⭐⭐
React Fiber 并不是所谓的纤程(微线程、协程),而是一种基于浏览器的单线程调度算法,背后的支持 API 是大名鼎鼎的:requestIdleCallback。
Fiberl是一种将 recocilation (递归 diff),拆分成无数个小任务的算法;它随时能够停止,恢复。停止恢复的时机取决于当前的一帧(16ms)内,还有没有足够的时间允许计算。
위 내용은 22가지 고급 React 인터뷰 질문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

JavaScript는 브라우저 및 Node.js 환경에서 실행되며 JavaScript 엔진을 사용하여 코드를 구문 분석하고 실행합니다. 1) 구문 분석 단계에서 초록 구문 트리 (AST)를 생성합니다. 2) 컴파일 단계에서 AST를 바이트 코드 또는 기계 코드로 변환합니다. 3) 실행 단계에서 컴파일 된 코드를 실행하십시오.

Python 및 JavaScript의 미래 추세에는 다음이 포함됩니다. 1. Python은 과학 컴퓨팅 분야에서의 위치를 통합하고 AI, 2. JavaScript는 웹 기술의 개발을 촉진하고, 3. 교차 플랫폼 개발이 핫한 주제가되고 4. 성능 최적화가 중점을 둘 것입니다. 둘 다 해당 분야에서 응용 프로그램 시나리오를 계속 확장하고 성능이 더 많은 혁신을 일으킬 것입니다.

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.

예, JavaScript의 엔진 코어는 C로 작성되었습니다. 1) C 언어는 효율적인 성능과 기본 제어를 제공하며, 이는 JavaScript 엔진 개발에 적합합니다. 2) V8 엔진을 예를 들어, 핵심은 C로 작성되며 C의 효율성 및 객체 지향적 특성을 결합하여 C로 작성됩니다.

JavaScript는 웹 페이지의 상호 작용과 역학을 향상시키기 때문에 현대 웹 사이트의 핵심입니다. 1) 페이지를 새로 고치지 않고 콘텐츠를 변경할 수 있습니다. 2) Domapi를 통해 웹 페이지 조작, 3) 애니메이션 및 드래그 앤 드롭과 같은 복잡한 대화식 효과를 지원합니다. 4) 성능 및 모범 사례를 최적화하여 사용자 경험을 향상시킵니다.

C 및 JavaScript는 WebAssembly를 통한 상호 운용성을 달성합니다. 1) C 코드는 WebAssembly 모듈로 컴파일되어 컴퓨팅 전력을 향상시키기 위해 JavaScript 환경에 도입됩니다. 2) 게임 개발에서 C는 물리 엔진 및 그래픽 렌더링을 처리하며 JavaScript는 게임 로직 및 사용자 인터페이스를 담당합니다.

JavaScript는 웹 사이트, 모바일 응용 프로그램, 데스크탑 응용 프로그램 및 서버 측 프로그래밍에서 널리 사용됩니다. 1) 웹 사이트 개발에서 JavaScript는 HTML 및 CSS와 함께 DOM을 운영하여 동적 효과를 달성하고 jQuery 및 React와 같은 프레임 워크를 지원합니다. 2) 반응 및 이온 성을 통해 JavaScript는 크로스 플랫폼 모바일 애플리케이션을 개발하는 데 사용됩니다. 3) 전자 프레임 워크를 사용하면 JavaScript가 데스크탑 애플리케이션을 구축 할 수 있습니다. 4) node.js는 JavaScript가 서버 측에서 실행되도록하고 동시 요청이 높은 높은 요청을 지원합니다.

Python은 데이터 과학 및 자동화에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 데이터 처리 및 모델링을 위해 Numpy 및 Pandas와 같은 라이브러리를 사용하여 데이터 과학 및 기계 학습에서 잘 수행됩니다. 2. 파이썬은 간결하고 자동화 및 스크립팅이 효율적입니다. 3. JavaScript는 프론트 엔드 개발에 없어서는 안될 것이며 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축하는 데 사용됩니다. 4. JavaScript는 Node.js를 통해 백엔드 개발에 역할을하며 전체 스택 개발을 지원합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Dreamweaver Mac版
시각적 웹 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
