Const值可以改变

sg5*_*552 0 javascript const meteor reactjs

我在这里关注meteorjs的教程:https://www.meteor.com/tutorials/react/forms-and-events

其中一个代码是使用const. const text = ReactDOM.findDOMNode(this.refs.textInput).value.trim();

据我在SO网站其他网站上的阅读所知,const价值无法改变.但是,当我键入我的应用程序输入框中的任何文本时,没有抛出重新分配const值的错误.

为什么会这样,我明白const错了?我希望有人可以向我解释并提前感谢.

示例代码:

import React, { Component, PropTypes } from 'react';
import ReactDOM from 'react-dom';
import { createContainer } from 'meteor/react-meteor-data';

import { Tasks } from '../api/tasks.js';
...some lines skipped...

// App component - represents the whole app
class App extends Component {
  handleSubmit(event) {
    event.preventDefault();

    // Find the text field via the React ref
    const text = ReactDOM.findDOMNode(this.refs.textInput).value.trim();

    Tasks.insert({
      text,
      createdAt: new Date(), // current time
    });

    // Clear form
    ReactDOM.findDOMNode(this.refs.textInput).value = '';
  }

  renderTasks() {
    return this.props.tasks.map((task) => (
      <Task key={task._id} task={task} />
Run Code Online (Sandbox Code Playgroud)

epi*_*ras 6

该const用于在每次输入输入时调用的函数内定义局部变量.当函数完成执行它不再"存在"时,所以下次调用该函数时你不会覆盖它,你再次创建它.